A-A+
若在以下定义和赋值语句 则才s数组的第i行第j列(假设i j已正确说明并赋值)元素地址的合法
问题详情
若在以下定义和赋值语句,则才s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为 int s[2][3]={0},(*p)[3]; p=s;
A.*(*(p+i)+j)
B.*(p[i]+j)
C.(p+i)+j
D.(*(p+i))[j]请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:A
解析:p+i是数组s的第i+1行的首地址,而*(p+i)则是数组第i+1行第1列的元素的地址,*(p+i)+j则是第i+1行的第j+1列的地址,*(*(p+i)+j)引用的是数组元素s[i][j]的值。注意:通过建立一个指针数组来引用二维数组元素。