首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c中如何用malloc动态申请二维数组

2012-06-08 
c中怎么用malloc动态申请二维数组c中怎么用malloc动态申请二维数组[解决办法]二维数组其实也是线性的存储

c中怎么用malloc动态申请二维数组
c中怎么用malloc动态申请二维数组

[解决办法]
二维数组其实也是线性的存储形式,一般是按行存储(也有按列存储的)

int a[2][2];
实际上就是 a[0][0] a[0][1] a[1][0] a[1][1]

所以你用malloc分配可以这样写 malloc(sizeof(int)*2*2);
[解决办法]
没有实际的二维数组的啊 二维数组就是连续的一维数组
[解决办法]
申请一个5行3列的整型数组。

C/C++ code
    int **a;    int i;    a = (int **)malloc(sizeof(int *)*5);    for (i=0; i<5; i++)        a[i] = (int *)malloc(sizeof(int)*3);
[解决办法]
探讨
二维数组其实也是线性的存储形式,一般是按行存储(也有按列存储的)

int a[2][2];
实际上就是 a[0][0] a[0][1] a[1][0] a[1][1]

所以你用malloc分配可以这样写 malloc(sizeof(int)*2*2);//int a[2][2];


[解决办法]
int (*p)[10];
p=(int(*)[10])malloc(sizeof(int)*20);
[解决办法]
探讨
申请一个5行3列的整型数组。 


C/C++ code int **a;
int i;

a = (int **)malloc(sizeof(int *)*5);
for (i=0; i<5; i++)
a[i] = (int *)malloc(sizeof(int)*3);

[解决办法]
当然是释放一次了....
[解决办法]
3楼的方法释放一次不行吧
[解决办法]

学习了……
[解决办法]
这个问题好哦!
谁能详细解释下?

热点排行