概述
Description
7.3 Increasing array size
Once an array is created, its size is fixed. Occasionally, you need to add more values to an array, but the array is full. In this case, you may create a new larger array to replace the existing array. Write a function with the following header:
int * doubleCapacity(int *list, int size)
The function create a new array that dobules the size of the parameter list, and copy the values in the list to the new array, the remaining value should to zero.
For example, the following codes outputs: 1 2 3 4 5 0 0 0 0 0
int list[5]={1,2,3,4,5};
int *newlist = doubleCapacity(list,5);
for(int i=0;i<2*5;i++)
printf("%d ", *(newlist+i));
Hint
Don’t submit the main() function.
// Date:2020/5/1
// Author:xiezhg5
int * doubleCapacity(int *list, int size) {
int i,*p;
//分配新数组大小(原来的2倍)
p=(int*)malloc(2*size*sizeof(int));
for(i=0; i<2*size; i++) {
if(i<size)
p[i]=list[i];
else
p[i]=0;
}
return p;
}
最后
以上就是活泼草丛为你收集整理的[Pointers and C-String]D. Liang 7.3 Increasing array size的全部内容,希望文章能够帮你解决[Pointers and C-String]D. Liang 7.3 Increasing array size所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复