Next: Named Address Spaces, Previous: Additional Numeric Types, Up: C Extensions [Contents][Index]
GCC supports several extensions relating to array, union, and struct types, including extensions for aggregate initializers for objects of these types.
| Variable Length: | Arrays whose length is computed at run time. | |
| Zero Length: | Zero-length arrays. | |
| Empty Structures: | Structures with no members. | |
| Flexible Array Members in Unions: | Unions with Flexible Array Members. | |
| Flexible Array Members alone in Structures: | Structures with only Flexible Array Members. | |
| Unnamed Fields: | Unnamed struct/union fields within structs/unions. | |
| Cast to Union: | Casting to union type from any member of the union. | |
| Subscripting: | Any array can be subscripted, even if not an lvalue. | |
| Initializers: | Non-constant initializers. | |
| Compound Literals: | Compound literals give structures, unions or arrays as values. | |
| Designated Inits: | Labeling elements of initializers. |