请问在C里面,我要定义一个数组,但是数组的大小不确定
1个回答
展开全部
你这么写的话,那个n还是一个变量,c语言首先需要编译才能执行,而编译的时候编译器就认为这个n是不确定的,所以他不知道要给你分配多大的存储空间,我建议你可以定义一个指针来做,下面是一个例子。
main(){vectorintn;intx;while(cinx)n.push_back(x);//建议你看一看关于vector的操作,访问vector的方法很简单,可以用数组下标访问,也可以新建一个迭代器。个人认为vector很类似于动态链表。
vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
在C语言中,数组的大小是在定义的时候就需要确定的,不然编译的时候进行分配内存时,会使计算机不知道该分配多少内存单元而报错。然而,可以根据定义一个链表来达到可变的效果。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询