Gcc supports zero-length array: http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Zero-Length.html#Zero-Length
Should struct line { int length; char contents[0]; }; or struct line { int length; char contents[]; }; be allowed to be passed by value? If yes, how do you access the contents field? -- H.J.