array[1][2] 和 array[1,2] 有什么区别? [关闭]

2023-12-22

如果我的二维数组是 int array[4][5]= {1,2,3,4,5,6,7,8,9,0,11,12,13,14,15,16,17, 18,19,20};

当我打印位置时: printf("%d\n",array[2,0]); 。这是打印值的地址而不给出&。但如果我这样打印: printf("%d\n",&array[2][0]);它是值的打印地址。正如我给出的 & 它打印地址。但两者的地址不同。但如果我打印 printf(",:%d\n",array[3,0]);它打印数组[2,0]的相同地址。

[2][0] 和 [2,0] 访问数组元素有什么区别。


阅读有关逗号运算符的内容。array[2][0]正在访问第三行第一列的元素。array[2,0]是第一个执行的操作(2,0)(返回 0)因此等价于array[0],它返回数组的第一行(实际上&array[0][0]因为它衰减为指针)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

array[1][2] 和 array[1,2] 有什么区别? [关闭] 的相关文章