使用指针来实现变长数组(VLA)
Posted jingwenxing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用指针来实现变长数组(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
函数得出需要的空间大小。例:输入10
,sizeof(int) * SIZE
得出40。
3、使用malloc
函数动态分配内存空间。(注:一般的时候,malloc
函数与free
函数连用)
4、用for
循环输入每一个数据。
5、用free
函数释放内存空间。
参考资料:
cplusplus-malloc
百度百科-malloc
cppreference-sizeof
以上是关于使用指针来实现变长数组(VLA)的主要内容,如果未能解决你的问题,请参考以下文章
变长数组(variable-length array,VLA)
我是不是应该检查并释放 VLA 类的分配运算符 (operator=) 中的指针
Go语言技巧之正确高效使用slice(听课笔记总结--简单易懂)