Example from docs: struct f1 { int x; int y[]; } f1 = { 1, { 2, 3, 4 } }; Currently sizeof(f1) == sizeof(int) rather than 4*sizeof(int), i.e. sizeof the object is determined by the type only, not the actual object size taking into account its initializer. If this is intentional the docs could benefit from clarification, as otherwise it's natural to want to use sizeof to find out how big the object actually ended up as.
-- Summary: sizeof object with zero-length array ignores initializer Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: algrant at acm dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39383