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 primero , el último es , length es , max es y size es ; el atributo de uso string y ignore ; el atributo de puntero [ _ ] [ _ ] [ _ ] [ _ ] [ _ ] [ ] [ ] [ ref ] , [ unique ] o [ ptr; ] [ _ ] y el tipo de modificador de atributo union . Separe varios atributos de campo con comas.

type-specifier

Especifica un tipo base, struct, unióno tipo de enumeración o identificador de tipo. Una especificación de almacenamiento opcional puede preceder al especificador de tipo.

declarator-list

Especifica uno o varios declaradores de C estándar, como identificadores, declaradores de puntero y declaradores de matriz. (Los declaradores de función y las declaraciones de campo de bits no se permiten en estructuras que se transmiten en llamadas a procedimientos remotos. 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 maneras siguientes:

  • 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.
  • No se permiten campos de bits ni declaradores de función en estructuras que se usan en llamadas a procedimientos remotos. Estas construcciones de declarador 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

Matrices

Matrices y punteros

Atributos de matriz Sized-Pointer matriz

Tipos base midl

/c _ ext

identificador de _ contexto

Enum

en primer _ lugar es

Archivo de definición de interfaz (IDL)

Ignorar

el _ último es

length _ es

max _ is

/osf

Ptr

ref

el _ tamaño es

Cadena

tipo _ de conmutador

union

Único