可以,300*300又不大,栈上不行就static,再不行就动态malloc。
刚试过,32位gcc栈上分配300*300的int数组没报错。
int *arry=(int*)malloc(90000*sizeof(int));
这样就分配了90000个int类型的地址
当然你用的时候还要判断一下:
if(arry)
举个例子,求第200行第100个元素
那么就是移动指针:arry[200*300+100]
楼主的意思是这样吧:
const int N=300;
typedef int (*Type)[N];
Type p=(Type)malloc(300*300);
//后面可以把p当二维数组用了
for(int i=0;i!=300)
for(int j=0;j!=300;j++)
p[i][j]=i*1000+j;
用全局量 或 动态分配。
#include
#include
int a[301][301];
int main () {
a[300][300]=123456;
printf("%d",a[300][300]);
return 0;
}
#include
main()
{
int a[300][300] = {0};
}
不知道你是不是这个意思!