malloc动态申请一个数组
意义:
静态定义的数组在程序加载的时候就已经分配了内存空间,直到函数结束或者程序结束后才会被释放
malloc定义的数组在程序运行时才申请内存空间,使用完后可以手动释放
申请一维数组
#include <iostream>//输入输出流头文件
#include <cstdlib>//调用malloc()函数所需头文件,也可使用stdlib.h
using namespace std;
int main()
{
int n, k;
cin>>n;
int *a = (int*)malloc(sizeof(int)*n);//给数组a申请存储空间,空间长度为n
for(int i = 0; i < n; i++)
{
cin>>a[i];
cout<<a[i]<<' ';
}
return 0;
}
申请多维数组
#include <iostream>//输入输出流头文件
#include <cstdlib>//调用malloc()函数所需头文件,也可使用stdlib.h
using namespace std;
int main()
{
int **a, n, m, k;
k = 0;
cin>>n>>m;//n为几维数组,m是一个维中有几个元素
a = (int **)malloc(sizeof(int *) * n);//分配维数
for(int i = 0; i < n; i++)
a[i] = (int *)malloc(sizeof(int) * m);//分配各个元素
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++, k++)
{
a[i][j] = k;
cout<<a[i][j]<<' ';
}
return 0;
}
————————————————
版权声明:本文为CSDN博主「耳咚汀松」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cs785791642/article/details/81069911