在C语言中,若有定义:int a[4][10](其中0<=i<4,0<=j<10);则下列选项中对数组元素a[i][j]引用错误的是()
一维数组:
a[i]=>*(a+ i) //算出A[i]的地址,取值
二维数组:
A[i][j] => (A[i])[j] => (*(A+i))[j] =>*(*(A+i) + j)
A.*(A+i) + j => &A[i][j]
#include <stdio.h> #include <stdlib.h> int main(){ int a[2][3]={1,2,3,4,5,6}; printf("%d \n",*(a[1]+1)); // 输出5 printf("%d \n",*(*(a+1)+1)); // 输出 5 printf("%d \n",*(&a[0][0]+3*1+1)); // 输出 5 printf("%d \n",*(*(a+1)+1));// 输出 5 system("pause"); return 0; }