我是靠谱客的博主 活泼草丛,这篇文章主要介绍[Pointers and C-String]D. Liang 7.3 Increasing array size,现在分享给大家,希望可以做个参考。

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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(121)

评论列表共有 0 条评论

立即
投稿
返回
顶部