[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
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
.
This document was generated by Build Daemon user on October, 25 2005 using texi2html 1.76.