目录
引入
一.柔性数组的特性
二.柔性数组的运用
引入
也许你从来没听说过柔性数组这个概念,但他确实是存在的。C99中,结构体的最后一个元素允许是未知大小的数组,这就叫柔性数组成员。
例如
一.柔性数组的特性
结构中的柔性数组前必须至少有一个其他成员。
sizeof返回的这种结构大小不包括柔性数组的内存。
包含柔性数组成员的结构用malloc函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组的预期大小。
二.柔性数组的运用
使用柔性数组实现

不用柔性数组实现上述操作


可见方案二实现的malloc次数多余方案一,会实现内存碎片,利用率不高,不利用访问速度。