C语言 求解为什么第一个超出了数组定义上界,引用不合法,第二个又合法引用了

如题所述

数组a[3][4]是从a[0][0]开始,到a[2][3]结束追问

什么意思呢,怎么看到哪里结束ಥ_ಥ窝是初学者

还有那个定义上界怎么看(╯°□°)╯︵ ┻━┻

追答

数组a[3][4]的第一个下标从0到2,第二个下标从0到3

而不是从1到3,1到4

a[3][4]是一个有三行四列的矩阵

矩阵的第一行第一列都标为0,而不是1,这是c语言的风格。

这样说你懂吗?

追问

恩恩,懂的 但是3.4=3有12个下标元素,赋值3为什么不合法,下面那个2.3=,有6个下标元素,赋值7就合法了…这里有点不懂

追答

你理解错了,a[3][4]本来指的是第三行第四列的那个数,赋值为3,但c语言中第三行第四列指的是a[2][3]

你看看书本,二维数组那一节

与它赋的值大小无关

追问

这样啊…(╯°□°)╯︵ ┻━┻谢谢啦

追答

即使你赋值1000都行,与这个值无关。

追问

是不是写作[3][4],赋值的时候按照 00 01 02 03
10 11 12 13
20 21 22 23的赋值 然后赋的值于数组无关

追答

嗯,是的

追问

谢谢(●°u°●)

追答

不客气!

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

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网