c语言 一维数组如何增加长度
5个回答
展开全部
C语言一维数组分静态一维数组和动态一维数组两种。
一、静态一维数组,在定义的时候就已经确定其长度。如
int a[10];
就是定义了一个长度为10个元素的整型数组。
静态数组不支持长度的增加。如果要增加长度,只能新定义一个更长的数组,并把原始数组的数据复制到新数组中。
二、动态一维数组,本质上是一个一维指针,并在其上分配一段内存,在这段内存上,可以当做数组来使用。
这种情况下,可以通过realloc函数,来实现增加长度。
int *p; //定义指针
p = malloc(10*sizeof(int));//分配10个元素。
p = realloc(p,20*sizeof(int));//重新分配,长度增加到20. 使用该函数,可以保持原本空间内的数据不变,只是可用空间增加。
展开全部
无法增加长度,你可以定义一个新数组,然后把旧的数组数据复制到新数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言一维数组不能直接增加长度,但可以采用动态空间分配间接地实现此功能。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能增加长度,如果需要能增加长度的数组,建议使用vector
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用int *cam_gm = new int [i];来定义动态数组
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询