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. |