结构型伸缩型数组成员
定义形式如下:
struct books {
int count;
double average;
double scores[]; //伸缩型数组成员
};
它必须满足以下几点:
1、伸缩型数组必须是结构的最后一个成员;
2、结构中必须至少有一个成员;
3、伸缩型数组类似普通数组,只是它的方括号内必须为空;
它存在的意义:
定义struct books
类型的变量,并不是为了让此数组中存值(初始值)而是希望声明
一个该变量的指针;然后在函数中使用时,动态的分配数组长度以后再赋值。
pf = malloc(sizeof(struct books) + n * sizeof(double)); //这里的n即为伸缩数组的长度