C:struct,union和enum的通用术语?

ser*_*gej 3 c language-lawyer

在C语言标准或文献中是否有结构,联合和枚举类型的通用术语?

更新:在处理以下宏时出现了这个问题:

/* GCC */
#if defined(__GNUC__)

# define TYPEDEF_PACKED_BEGIN(type, tag)                   \
typedef type __attribute__((packed, aligned(1))) tag

# define TYPEDEF_PACKED_END

/* Green Hills */
#elif defined(__ghs__)

# define TYPEDEF_PACKED_BEGIN(type, tag)                   \
#pragma pack(1)                                            \
typedef type tag

# define TYPEDEF_PACKED_END                                \
#pragma pack()

#endif
Run Code Online (Sandbox Code Playgroud)
TYPEDEF_PACKED_BEGIN(struct, my_struct_tag) {
    int a;
    int b;
} my_struct_type;
TYPEDEF_PACKED_END

TYPEDEF_PACKED_BEGIN(enum, my_enum_tag) {
    E_FOO,
    E_BAR
} my_enum_type;
TYPEDEF_PACKED_END
Run Code Online (Sandbox Code Playgroud)

Sto*_*ica 5

我看到的这三个词是"标签类型".的理由是,这三个类型类别由一个关键字和一个识别标签从标签的命名空间.C标准提到了几个地方的标签,特别是:

6.2.3标识符的名称空间

[...]因此,各类标识符都有单独的名称空间,如下所示:

  • 结构,联合和枚举的标记(通过遵循任何关键字struct,union或enum来消除歧义);