C语言 数组元素 地址

来源:百度知道 编辑:UC知道 时间:2024/09/20 21:55:30
若有以下说明语句,则【】是对数组元素地址的正确表示。
int a[2][3]={2,4,6,8,10,12};
A *a+1
B *(a[1]+2)
C a[1]+3
D a[0][0]
请C语言达人解释一下为什么选A,其余选项为什么不对?

a[2][3] = {{2,4,6},{8,10,12}};
A:*a为第一行数组首地址,+1第一行第2个元素的地址。
B:a[1]=*(a+1),+2后进行*操作即获得第2行第3个元素。
C:a[1]=*(a+1), +3后超出数组维数,是一个垃圾内容的地址。
D:忽略

审题:数组元素地址
那么类型必须是 int *,地址嘛
B, D 排除(为 int 类型)
C 越界(a[2][3])