c語(yǔ)言中長(zhǎng)度為0的數(shù)組妙用

字號(hào):

長(zhǎng)度為0的數(shù)組在GNU C是可以使用的,考試大首發(fā)在定義一個(gè)變長(zhǎng)對(duì)象的結(jié)構(gòu)體是非常有用的。
    請(qǐng)看下例。
    struct line {
    int length;
    char contents[0];
    };
    struct line *thisline = (struct line *)
    malloc (sizeof (struct line) + this_length);
    thisline->length = this_length;
    Examda提示:顯然這樣的代碼要比下面的定義節(jié)省空間
    struct line {
    int length;
    char *contents;
    };
    struct line {
    int length;
    char contents[1];
    };