5个回答
展开全部
无论是数组还是动态分配的内存,长度都是固定的,如果你要插入的位置超过了数组的范围,是没办法插入的,只有重新分配内存或者预先就分配好足够大的内存。如果不确定大小,可以用C++的vector代替数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组在定义时大小就已经确定。想在末尾增加一个值是不行的
追问
那如果是动态分配了内存的数组呢?
追答
那就再动态申请一个元素的内存空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
基本来说操作需要重新申请一个新的数组。
操作如下,以下是伪码:
int* newA=new int[a.length+1];
memcpy(newA,a,a.length);
newA[a.length+1]=e;
操作如下,以下是伪码:
int* newA=new int[a.length+1];
memcpy(newA,a,a.length);
newA[a.length+1]=e;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果已知的数组大小是n;
添加:a[n]=e;
a[n+1]='\0';
n++;
就完成操作!
你这个是数组,不用a[n+1]='\0'了;
直接:
a[n]=e;
n++
添加:a[n]=e;
a[n+1]='\0';
n++;
就完成操作!
你这个是数组,不用a[n+1]='\0'了;
直接:
a[n]=e;
n++
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询