C++动态创建二维数组,memset()初始化二维数组

来源:互联网 发布:帝国时代3兵种数据 编辑:程序博客网 时间:2024/05/18 09:25

果然很麻烦,人生苦短,还是用python吧。

#include <iostream>#include <string.h>int main(void){    int n,m;    while(std::cin >>n >>m)    {        //动态创建二维数组        int **a = new int *[n];        for(int i=0; i<n; ++i)        {            a[i] = new int[m];            //注意下面是第一个参数是a[i]            //第三个参数是 m*sizeof(int)            memset(a[i],0,m*sizeof(int));        }        //这两个大小都是4 int指针的大小        std::cout << sizeof(a) << " " \            << sizeof(a[0]) << std::endl;        for(int i=0; i<n; ++i)        {            for(int j=0; j<m; j++)                std::cout << a[i][j] << " ";            std::cout << std::endl;        }        //用完之后,记得释放内存 !!!!!        for(int i=0; i<n; ++i)            delete []a[i];        delete []a;    }    return 0;}
#include <iostream>int main(void){    int a[10];    int *b = new int[10];    std::cout << "sizeof(a) = " << sizeof(a) << \     "\nsizeof(b) = " << sizeof(b) << std::endl;    return 0;}

sizeof(a) = 40
sizeof(b) = 4
请按任意键继续…

原创粉丝点击