| [ < ] | [ > ] | [ << ] | [ 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.