首页 > 编程语言 > 详细

【C语言】构造长度可变的二维数组

时间:2014-09-10 17:23:00      阅读:353      评论:0      收藏:0      [点我收藏+]
 1 #include <stdio.h>
 2 #include <malloc.h>
 3 #include <memory.h>
 4 
 5 int getArray(int ***p,int m,int n)//构造一个m*n维数组,并清零
 6 {
 7     int i;
 8     *p=(int **)malloc(sizeof(int*)*m);
 9     memset(*p,0,sizeof(int*)*m);
10     if(NULL==p)
11     {
12         printf("memory error!");
13         return -1;
14     }
15     for(i=0;i<n;i++)
16     {
17         (*p)[i]=(int*)malloc(sizeof(int)*n);
18         memset((*p)[i],0,sizeof(int)*n);
19         if(NULL==(*p)[i])
20         {
21             printf("memory error!");
22             return -1;
23         }
24     }
25     return 0;
26 }
27 int main()
28 {
29     
30     int n;//输入数
31     int **p=NULL;//二级指针,留作可变长度二维数组用
32     printf("input a number:");
33     scanf("%d",&n);
34     if((n<0)||(n>2147483647))//检查n是否溢出
35     {
36         printf("invalid number!");
37         return -1;
38     }
39     /*构造一个n*n维数组,并清零*/
40     state=getArray(&p,n,n);
41         
42         return 0;
43 }

 

【C语言】构造长度可变的二维数组

原文:http://www.cnblogs.com/ykyimin/p/3964678.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!