若有定义char a[10];,则不正确的数组元素或指针引用是? A:a[0] B:a[5-2] C:a[10] D:a

是这样的,想请教一下,若有定义char a[10];,则不正确的数组元素或指针引用是? A:a[0] B:a[5-2] C:a[10] D:a
最新回答
咱情种

2024-11-05 11:59:40

若有定义char a[10],则不正确的数组元素或指针引用是a[10],因为,数组元素的下标是0~9。

数组元素的一般形式为:

数组名[下标],其中下标只能为整型常量或整型表达式。如为小数时,C 编译将自动取整。

例如:a[5]、a[i+j]、a[i++]

数组及数组元素的地址表示如下:a是二维数组名,也是二维数组0行的首地址,等于1000。a[0]是第一个一维数组的数组名和首地址,因此也为1000。*(a+0)或*a是与a[0]等效的,它表示一维数组a[0]0号元素的首地址。

扩展资料:

a[0]可以看成是a[0]+0是一维数组a[0]的0号元素的首地址,而a[0]+1则是a[0]的1号元素首地址,由此可得出a[i]+j则是一维数组a[i]的j号元素首地址,它等于&a[i][j]。由a[i]=*(a+i)得a[i]+j=*(a+i)+j,由于*(a+i)+j是二维数组a的i行j列元素的首地址。

参考资料来源:

百度百科-数组指针

参考资料来源:

百度百科-数组元素