假设我有一个结构如下:C中灵活长度数组的分配空间在哪里?
struct line {
int length;
char contents[];
};
struct line *thisline = (struct line *) malloc (sizeof (struct line) + this_length);
thisline->length = this_length;
哪里是为contents
分配的空间?在堆或在length
后的地址?
数组长度丢失;它必须是'1'。 –
它不缺,它是一个灵活的数组成员。 – ouah
@SethCarnegie不在C99或更高版本。 –