关于C语言中数组定义问题

如图所示,定义2行3列数组a,2行3列数组b.1:为什么b数组的第一行有六个元素,不应该是2行3列的吗,并且第一行是按照a的顺序存储的,为什么呢?2:若将b数组改定义为b[1][3],即改成了1行3列数组,为什么也是同2行3列一样的存储方式呢?

主函数内定义的数组在堆栈段中分配内存。
全局变量数组在数据段中分配内存。
一般数据段比堆栈段大很多,
所以堆栈段分配不了的内存,数据段可以分配

(1)在堆栈段中分配内存,由于太大无法分配,所以错误。
(2)在数据段中分配内存,数据段可以分配,无错误。
(3)数组比(1)需要的内存少,在堆栈段大小范围内,可以分配,无错误
(4)同(3)追问

不好意思没看懂。。

温馨提示:答案为网友推荐,仅供参考
相似回答