二维数组动态分配【数据结构-朱站立】

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <malloc.h>
 4 
 5 /*分配二维数组的内存空间*/
 6 int fenpei(int row, int col)
 7 {
 8     int i;
 9     int **array;
10     
11         if ((array = (int **)malloc(row *sizeof (int *))) == NULL)
12         {
13             getchar();
14             exit(0);
15         }
16         for (i = 0; i < row; i++)/*分配行内存空间*/
17         {
18             if ((array[i]=(int*)malloc(col*sizeof(int)))==NULL)
19             {
20                 getchar();
21                 exit(0);
22             }
23         }
24         return array;
25 }
26 
27 /*撤销内存*/
28 void Destroy(int **array, int row)
29 {
30     int i;
31     for ( i = 0; i < row; i++)
32     {
33         free(array[i]);
34     }
35     free(array);
36 }
37 
38 /*主函数*/
39 int main()
40 {
41     int i, j;
42     int row = 10, col = 10;
43     int **array;
44 
45     array=fenpei(row,col);
46     for ( i = 1; i <row; i++)
47     {
48         for ( j = 1; j <col; j++)
49         {
50             array[i][j] = i*j;
51         }
52     }
53     for ( i = 1; i < row; i++)
54     {
55         for ( j = 1; j < col; j++)
56         {
57             printf("%d      ", array[i][j]);
58         }
59         printf("\n");
60     }
61     Destroy(array, row);
62     getchar();
63     return 0;
64 }

猜你喜欢

转载自www.cnblogs.com/leime/p/9489365.html