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