Atributo struct
La palabra clave struct se usa en un especificador de tipo de estructura.
struct [[ struct-tag ]]
{
[[ [ field-attribute-list ] ]] type-specifier declarator-list;
...
};
Parámetros
-
struct-tag
-
Especifica una etiqueta opcional para la estructura.
-
field-attribute-list
-
Especifica cero o más atributos de campo que se aplican al miembro de estructura. Los atributos de campo válidos incluyen [first_is], [last_is], [length_is], [max_is]y [size_is]; los atributos de uso [string] y [ignore]; el atributo de puntero [ref], [unique], o [ptr]; y el atributo de unión [switch_type]. Separe varios atributos de campo con comas.
-
type-specifier
-
Especifica un tipo base, una estructura, una unióno un identificador de tipo de tipo. Una especificación de almacenamiento opcional puede preceder al especificador de tipos.
-
declarator-list
-
Especifica uno o varios declaradores de C estándar, como identificadores, declaradores de puntero y declaradores de matriz. (No se permiten declaradores de funciones ni declaraciones de campo de bits en estructuras que se transmiten en llamadas a procedimiento remoto. Estos declaradores se permiten en estructuras que no se transmiten). Separe varios declaradores con comas.
Observaciones
El especificador de tipo de estructura IDL, struct, difiere del especificador de tipo C estándar de las siguientes maneras:
- Cada miembro de estructura se puede asociar a atributos de campo opcionales que describen las características de ese miembro de estructura para los fines de una llamada a procedimiento remoto.
- Los campos de bits y los declaradores de función no se permiten en estructuras que se usan en llamadas a procedimientos remotos. Estas construcciones declaradoras de C estándar solo se pueden usar si la estructura no se transmite en la red.
La forma de las estructuras debe ser la misma en todas las plataformas para garantizar la interconectividad.
Ejemplos
typedef struct _PITCHER_RECORD_TYPE
{
short flag;
[switch_is(flag)] union PITCHER_STATISTICS_TYPE p;
} PITCHER_RECORD_TYPE;
Vea también