使用指针来实现变长数组(VLA)

实现代码:

#include <cstdio>
#include <cstdlib>
void usePtoImplementVLA(int SIZE)
{
	scanf("%d", &SIZE);
	int *pVLA = (int *)malloc(sizeof(int) * SIZE);
	
	for (int i = 0; i < SIZE; i++)
		scanf("%d", &pVLA[i]);
	
	free(pVLA);
}

实现思路:

1、输入创建指针大小SIZE
2、使用sizeof函数得出需要的空间大小。例:输入10sizeof(int) * SIZE得出40。
3、使用malloc函数动态分配内存空间。(注:一般的时候,malloc函数与free函数连用)
4、用for循环输入每一个数据。
5、用free函数释放内存空间。

参考资料:

cplusplus-malloc
百度百科-malloc
cppreference-sizeof

posted @ 2018-12-16 14:51  JingWenxing  阅读(534)  评论(0编辑  收藏  举报