意义:

静态定义的数组在程序加载的时候就已经分配了内存空间,直到函数结束或者程序结束后才会被释放
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

标签: none

文章分类

归档