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内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复