c语言如何申请一个300*300的二维数组啊!!不要说直接申请,我已经试过了,不行!!

回答满意追加最高分,求大神解答!!!
2024-12-03 07:15:46
推荐回答(5个)
回答1:

可以,300*300又不大,栈上不行就static,再不行就动态malloc。
刚试过,32位gcc栈上分配300*300的int数组没报错。

回答2:

int *arry=(int*)malloc(90000*sizeof(int));
这样就分配了90000个int类型的地址
当然你用的时候还要判断一下:
if(arry)
举个例子,求第200行第100个元素
那么就是移动指针:arry[200*300+100]

回答3:

楼主的意思是这样吧:

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;

回答4:

用全局量 或 动态分配。

#include
#include
int a[301][301];
int main () {
a[300][300]=123456;
printf("%d",a[300][300]);
return 0;
}

回答5:

#include
main()
{
int a[300][300] = {0};
}
不知道你是不是这个意思!