在c语言中,是不是数组在定义时一定要指定它的大小,似乎在结构体中可以定义一个不用知名大小的数组?

在C语言中,曾经似乎看到过,可以在数组中定义一个数组,不用初始化其大小,在实际调用的时候才动态分配内存!这是叫什么数组呢?昨天我去看了下原来那本书,原来叫做柔性数组,只能... 在C语言中,曾经似乎看到过,可以在数组中定义一个数组,不用初始化其大小,在实际调用的时候才动态分配内存!这是叫什么数组呢?
昨天我去看了下原来那本书,原来叫做柔性数组,只能用在结构体中,并且还只能够是最后一个成员
struct student
{
int iNumber;
char cNameString[20]
float fRoomNum;
char a[];
};
其中的 a[] 就是柔性数组,初始化的时候不会给他分配内存,则该结构体的大小为28。
展开
 我来答
gs无明
2020-09-11
知道答主
回答量:9
采纳率:0%
帮助的人:7629
展开全部
结构体中有伸缩数组(C99特性):但用该结构体去定义变量时,该伸缩数组成员是无法使用的,这种结构只能去定义指针,通过动态分配足够的空间,来容纳结构中的正常成员和伸缩数组所需要的空间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
傻输入
2011-11-13 · TA获得超过157个赞
知道答主
回答量:160
采纳率:0%
帮助的人:73.3万
展开全部
你说的是 指针数组吗?指针向量的每个值就指向一个数组。
追问
不是,当时是这么说的
“结构中先定义一个数组,但是初始化的时候不给他分配内存,而是在我们实际需要的时候动态分配,这个叫什么数组来着,我忘记了
追答
额,我就知道指针数组是这样。。。  数组指针是指一个指向数组的指针,
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式