动态分配数组

 1 #include<stdio.h>
 2 #include<malloc.h> 
 3 
 4 //一维数组 
 5 int* array(int n)
 6 {
 7     return (int*)malloc(sizeof(int)*n);
 8 }
 9 
10 //二维数组
11 int** array(int n,int m)
12 {
13     int i=0,**x=(int**)malloc(sizeof(int*)*n);
14     for(;i<n;i++)
15         x[i]=(int*)malloc(sizeof(int)*m);
16     return x;
17 }
18 
19 //三维数组
20 int*** array(int a,int b,int c)
21 {
22     int i=0,j=0,***x=(int***)malloc(sizeof(int***)*a);
23     for(;i<b;i++)
24         x[i]=(int**)malloc(sizeof(int*)*b);    
25     for(i=0;i<a;i++)
26         for(j=0;j<b;j++)
27             x[i][j]=(int*)malloc(sizeof(int)*c);
28     return x;
29 }
30 
31 int main()
32 {
33     int a=3,b=4,c=5,count=0;
34     int ***p=array(a,b,c);
35     for(int i=0;i<a;i++)
36     for(int j=0;j<b;j++)
37     for(int k=0;k<c;k++)
38     p[i][j][k]=++count;
39     
40     for(int i=0;i<a;i++)
41     {
42         for(int j=0;j<b;j++)
43         {
44             for(int k=0;k<c;k++)
45                 printf("%d ",p[i][j][k]);
46             putchar(10);
47         }
48         putchar(10);
49     }
50     
51     system("pause");
52     return 0;
53 }

posted @ 2013-05-06 14:43  Please Call me 小强  阅读(215)  评论(0编辑  收藏  举报