你可能没听过的数组-----柔性数组
【摘要】 目录一、简述二、具体使用1.用创建柔性数组的方法:2.用普通的写法三、柔性数组的特点一、简述 在c99中有明确的规定允许结构体中最后一个数组大小是未知的。柔性数组其实是结构体中的最后一个数组未说明大小,且结构体中至少包含一个以上其他类型,如#include<stdio.h>struct hei { int zeng; char shi; int arr[];//或者int arr[...
目录
一、简述
在c99中有明确的规定允许结构体中最后一个数组大小是未知的。
柔性数组其实是结构体中的最后一个数组未说明大小,且结构体中至少包含一个以上其他类型,如
二、具体使用
1.用创建柔性数组的方法:
2.用普通的写法
三、柔性数组的特点
1.对比这两种来看,柔性数组的特点在于只需要用一次malloc创建就可以,而普通的解法则需要两
次,因为malloc申请的内存位置是任意的,所以柔性数组可以减少内存碎片化。
2.柔性数组申请的内存更加集中,有利于查找使用。
3.sizeof求结构体大小时所求出的大小没有包括柔性数组的大小。
4.用malloc函数进行动态内存申请时,柔性数组的大小应该大于结构体的大小
以便于柔性数组适应预期大小。
5.柔性数组只用一次开辟,有利于提高访问速度
------------------------------------------------------------------------------------------------------------------
小伙伴们有什么想法可以留言
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)