GNU Info

Info Node: (gcc-295.info)Zero Length

(gcc-295.info)Zero Length


Next: Variable Length Prev: Hex Floats Up: C Extensions
Enter node , (file) or (file)node

Arrays of Length Zero
=====================

   Zero-length arrays are allowed in GNU C.  They are very useful as
the last element of a structure which is really a header for a
variable-length object:

     struct line {
       int length;
       char contents[0];
     };
     
     {
       struct line *thisline = (struct line *)
         malloc (sizeof (struct line) + this_length);
       thisline->length = this_length;
     }

   In standard C, you would have to give `contents' a length of 1, which
means either you waste space or complicate the argument to `malloc'.


automatically generated by info2www version 1.2.2.9