[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
GNU C では長さが 0 の配列を使うことができる。 これを構造体の最後の要素として置き、実際には可変長となるオブジェクトの ヘッダとして使うことができる。
struct line { int length; char contents[0]; }; { struct line *thisline = (struct line *) malloc (sizeof (struct line) + this_length); thisline->length = this_length; } |
C の標準では、長さ 0 の配列は許されないため、上記の contents
の
長さを 1 にしなければならない。このため、スペースが無駄になったり、
malloc
の引数が複雑になったりする。
This document was generated
using texi2html 1.78.