请问int a[4][5]; ,则a[2]+3表示的是什么意思啊?
难道不是a[2][3]的地址吗?还是a[2][3]的值?还是都不是啊?
谢谢!!
望采纳!点击该回答右侧的“采纳”按钮即可采纳!!!
a[2]+3表示的是a[2]指向的地址加上3后的地址。如果a[2]指向的是一个数组的第一个元素的地址,那么a[2]+3就是指向该数组第四个元素的地址。如果想要访问a[2][3]的值,可以使用*(a[2]+3)或者a[2][3]
在 C 语言中,数组名表示数组的首地址。因此"a[2]" 表示第三行数组的首地址。
如果要访问数组元素,可以使用下标运算符 "[]"。例如,"a[2][3]" 表示第三行第四列的数组元素。
对于 "a[2]+3" 这个表达式,它表示第三行数组的首地址加上 3 的值。这个值是一个指针,指向第三行数组的第四个元素的地址。
因此"a[2]+3" 不是 "a[2][3]" 的值,也不是 "a[2][3]" 的地址。
如果要访问 "a[2][3]" 的值,应使用 "*(a[2]+3)" 这样的表达式。
例如:
int a[4][5];
int x = *(a[2]+3);
这样x 就会被赋值为 "a[2][3]" 的值。
望采纳。
a[2][3]的地址