码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2014-09-10 17:23:00      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   ar   for   div   sp   log   

 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语言】构造长度可变的二维数组

标签:style   blog   color   io   ar   for   div   sp   log   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!