C99中,结构体中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员
typedef struct st_type {
int i;
char a[0];
}type_a;
或者:
typedef struct st_type {
int i;
char a[];
}type_a;
柔性数组的特点:
1.结构中的柔性数组成员前面必须至少一个其他成员。
2.sizeof 返回的这种结构大小不包括柔性数组的内存。
3.包含柔性数组成员的结构用malloc ()函数进行内存的动态分配,并且分配的内存应 该大于结构的大小,以适应柔性数组的预期大小。