C 柔性数组
2021-06-04 03:04
标签:i++ 使用 code size_t malloc 好处 动态分配 分配 声明 什么是柔性别数组 结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员 例如 使用方法 值得注意的是声明的ps大小只有4个字节也就是说arr不占空间 通过malloc 动态分配内存 有2个好处:提高访问速度,方便内存释放 C 柔性数组 标签:i++ 使用 code size_t malloc 好处 动态分配 分配 声明 原文地址:https://www.cnblogs.com/feizianquan/p/14662896.htmltypedef struct st_type
{
int i;
int a[0]//柔性数组成员可以调整数组大小
}type_a;
struct S
{
int n;
int arr[];
};
int main()
{
struct S* ps = (struct S*)malloc(sizeof(struct S) + 5 * sizeof(int));
ps->n = 100;
for (size_t i = 0; i 5; i++)
{
ps->arr[i] = i;
printf("%d", ps->arr[i]);
}
free(ps);
ps = NULL;
return 0;
}
struct S
{
int n;
int arr[];
};
printf("%d",sizeof(type_a))//大小是4
下一篇:合并数组中相同id 的数量