#include <stdio.h>
#include <malloc.h>
#include <memory.h> int getArray(int ***p,int m,int n)//构造一个m*n维数组,并清零
{
int i;
*p=(int **)malloc(sizeof(int*)*m);
memset(*p,,sizeof(int*)*m);
if(NULL==p)
{
printf("memory error!");
return -;
}
for(i=;i<n;i++)
{
(*p)[i]=(int*)malloc(sizeof(int)*n);
memset((*p)[i],,sizeof(int)*n);
if(NULL==(*p)[i])
{
printf("memory error!");
return -;
}
}
return ;
}
int main()
{ int n;//输入数
int **p=NULL;//二级指针,留作可变长度二维数组用
printf("input a number:");
scanf("%d",&n);
if((n<)||(n>))//检查n是否溢出
{
printf("invalid number!");
return -;
}
/*构造一个n*n维数组,并清零*/
state=getArray(&p,n,n); return ;
}