malloc创建三维数组

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <malloc.h>
 4 
 5 int main()
 6 {
 7     //f[0],f[][0]记录总数
 8     //etc.有f[0]种等级的房间,f[i]代表第i种等级
 9     //第i个等级的房间有f[i][0]间房间,f[i][j]代表第i种等级的第j个房间
10     //第f[i][j]个房间有f[i][j][0]张床
11     //f[i][j][k]为第i个等级的房间,第j间房间,第k张床
12     long ***f,i,j;
13     f=(long ***) malloc (sizeof(long **)*101);
14     for (i=1;i<=100;i++)
15         f[i]=(long **) malloc (sizeof(long *)*101);
16     for (i=1;i<=100;i++)
17         for (j=1;j<=100;j++)
18             f[i][j]=(long *) malloc (sizeof(long)*101);
19     //经测试可以在codeblocks,dev使用,但会提示warning
20     f[0]=1;
21     f[2][0]=5;
22     printf("%ld
",f[0]);
23     printf("%ld
",f[2][0]);
24     return 0;
25 }

 f[0],f[i][0],f[i][j][0]记录每维总数

如:开一个a*b*c的三维空间,题目要求a*b*c小于某个值。

原文地址:https://www.cnblogs.com/cmyg/p/6670993.html