各位大牛来看看吧我太ben了,写了好久,后面释放内存的也不知道对不对各位给些建议吧
#include<stdio.h>
int main()
{
int m = 3;
int h = 10;
int l = 10;
int***a = (int***)calloc(sizeof(int**),m);
for (int i = 0; i < m; i++)//层
{
a[i] = (int**)calloc(sizeof(int*), h);//给每层开辟内存
for (int j = 0; j < h; j++)//运用指针的偏移
{
int g = 0;
a[i][j] = (int*)calloc(sizeof(int), l);//给每层输入列数
for (int r = 0; r < l; r++)
{
a[i][j][r] = (int)malloc(h);//给每列输入行数
}
}
}
for (int i = 0; i < m; i++)
{
printf("这是第%d层\n", i+1);
for (int y = 0; y < 10; y++)
{
for (int z = 0; z < 10; z++)
{
a[i][y][z] = y * 10 + z;
printf("%3d", a[i][y][z]);
}
printf("\n");
}
}
for (int i = 0; i < m; i++)
{
for (int y = 0; y < h; y++)
{
for (int z = 0; z < l; z++)
{
free(a[i][y][z]);
a[i][y][z] = NULL;
}
}
}
return 0;
}