c99中
结构中的最后一个元素允许是未知大小的数组 这就叫做柔性数组成员。
但结构中的柔性数组前面必须至少一个其他 成员,柔性数组成员允许结构中包含一个大小可变的数组.
sizeof返回的这种结构大小不包括柔性数组的内存.
包含柔数组成员的结构用malloc函数进行内存的动态分配,且分配的内存应该大于结构的大小 以适应柔性数组的预期大小.
柔性数组到底如何使用:例子:
typedef struct st_type
{
int i; int a[0];
}type_a;
有些编译器报错无法编译可改成:
typedef struct st_type
{
int i; int a[];
}type_a;