何为柔性数组

    技术2025-08-18  15

    c99中

     结构中的最后一个元素允许是未知大小的数组 这就叫做柔性数组成员。

    但结构中的柔性数组前面必须至少一个其他 成员,柔性数组成员允许结构中包含一个大小可变的数组.

    sizeof返回的这种结构大小不包括柔性数组的内存.

    包含柔数组成员的结构用malloc函数进行内存的动态分配,且分配的内存应该大于结构的大小 以适应柔性数组的预期大小.

     柔性数组到底如何使用:例子:

    typedef struct st_type

    {

    int i; int a[0];

    }type_a;

    有些编译器报错无法编译可改成:

    typedef struct st_type

    {

    int i; int a[];

    }type_a;

    最新回复(0)