#include <malloc.h>
#include <stdio.h>
int main()
{
int **a = malloc(sizeof(int)*3);
a[0]= malloc(sizeof(int)*2);
a[1]= malloc(sizeof(int)*2);
a[2]= malloc(sizeof(int)*2);
a[0][0] =1;
a[0][1] =2;
a[1][0] =3;
a[1][1] = 4;
a[2][0] =5;
a[2][1] = 6;
printf("%d\t%d\t%d\t%d\t%d\t%d\n",a[0][0],a[0][1],a[1][0],a[1][1],a[2][0],a[2][1]);
free(a[0]);
free(a[1]);
free(a[2]);
free(a);
}
[cpp] view plaincopy
#include <malloc.h>
#include <stdio.h>
int main()
{
int (*a)[2] = malloc(sizeof(int)*3*2);
a[0][0] =1;
a[0][1] =2;
a[1][0] =3;
a[1][1] = 4;
a[2][0] =5;
a[2][1] = 6;
printf("%d\t%d\t%d\t%d\t%d\t%d\n",a[0][0],a[0][1],a[1][0],a[1][1],a[2][0],a[2][1]);
free(a);
} malloc 实现二维数组
最新推荐文章于 2025-03-03 00:42:52 发布
本文通过两个C语言程序示例介绍了如何使用malloc进行动态内存分配并初始化二维数组。第一个示例通过逐个为每个一维数组分配内存来创建二维数组,并在使用完毕后释放每个分配的内存块。第二个示例则直接为整个二维数组分配连续的内存空间。
1842

被折叠的 条评论
为什么被折叠?



