int a[3][4] ,(*p)[4] p=a; 为什么*(*(p+i)+j) (*(p+i))[j] p[i][j]可以引用a[i][j]P 是 数组a的首地址吗? 那是什么.求上面三个式子的 详解.

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 07:28:49
int a[3][4] ,(*p)[4] p=a; 为什么*(*(p+i)+j) (*(p+i))[j] p[i][j]可以引用a[i][j]P 是 数组a的首地址吗?  那是什么.求上面三个式子的 详解.
xRN@~9ҖWP=$ n R,+wݘ|(\1Omڶ ."~@BMv,U6-Ua@?Bд*3u<>Ѩ/gFGCawoB31=׈?&FuۀA7#Y98*T׭+%\Vk+]l2M7X_B1Ӌ3>K:Dŷmf\/x! TU1IU!Md4y?!ɉL|SHHL =$h$e;Ɛ%H2l rK\2c16?r

int a[3][4] ,(*p)[4] p=a; 为什么*(*(p+i)+j) (*(p+i))[j] p[i][j]可以引用a[i][j]P 是 数组a的首地址吗? 那是什么.求上面三个式子的 详解.
int a[3][4] ,(*p)[4] p=a; 为什么*(*(p+i)+j) (*(p+i))[j] p[i][j]可以引用a[i][j]
P 是 数组a的首地址吗? 那是什么.求上面三个式子的 详解.

int a[3][4] ,(*p)[4] p=a; 为什么*(*(p+i)+j) (*(p+i))[j] p[i][j]可以引用a[i][j]P 是 数组a的首地址吗? 那是什么.求上面三个式子的 详解.
其实在c 中 p[i] 等价于 *(p+i),数组表示法只是一种简写.
p[i][j]等价于 (*(p+i))[j]==*(*(p+i)+j)
你也可以反着写:
p[n]==n[p] 因为 *(p+n)==*(n+p)
你执行了p=a;
因此p的值等于a的值.所以p[i][j]==a[i][j]
你的理解是正确的.

int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int **p; p=(int**)a; 其中p=(int**)a;是什么意思啊 1.已知int a[3][4],*p=a; 则p表示 int[][4]={1,2,3,4,5,6,7,8};int(*p)[4]=a;则表达式**(p+1)-*(*p+1)的值是? int a[]={1,2,3,4,5,6,7,8,9},*p; for(p=a,p { int a[]={1,2,3,4,5,6}; int*p; p=a; printf(%d ,*p); printf(%d ,*(++p)); printf(%d ,*++p);{ int a[]={1,2,3,4,5,6};int*p;p=a;printf(%d ,*p);printf(%d ,*(++p));printf(%d ,*++p);printf(%d ,*(p--));P+=3;printf(%d%d,*p,*(a+3));}求 已知static int a[3][4]; int *p;则下列语句不合理的是( ) A、p=a; B、p=a[0]; C、p=*a; D、p=&a[0、已知static int a[3][4]; int *p;则下列语句不合理的是( )A、p=a; B、p=a[0]; C、p=*a; D、p=&a[0][0] 、已知static int a[3][4]; int *p;则下列语句不合理的是( ) A、p=a; B、p=a[0]; C、p=*a; D、p=&a已知static int a[3][4]; int *p;则下列语句不合理的是( )A、p=a; B、p=a[0]; C、p=*a; D、p=&a[0][0] 已知static int a[3][4]; int *p;则下列语句不合理的是( ) A、p=a; B、p=a[0]; C、p=*a; D、p=&a[0已知static int a[3][4]; int *p;则下列语句不合理的是( )A、p=a; B、p=a[0]; C、p=*a; D、p=&a[0][0]; int a[3][5]={{1,2},{6,4},{3,4,5}}; int (*p)[5] = a; 求*(*p+1)+3的值? #include main() {int a[10]={1,2,3,4,5,6},*p; p=a; *(p+3)+=2; printf(%d,%d,*p,*(p+3));求详解 #include stdio.h main() { int a []={1,2,3,4,5},*p;p=a;*(p+2)+=2; printf(%d,%d,*p,*(p+2));} 若有定义 int a[3][4],*p; 则对数组元素a[i][j](0 8,执行以下程序段后,m的值为()int a[2] [3]={{1,2,3},{4,5,6};int m,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4)); C语言问题:int *p; int a[] = {1,2,3,4,5,6}; *++p += 1; 这句话怎么理解.麻烦写出详细解题说明! int a [4][10] ,*p; p=a;这句话为什么错了啊?int a[9],*p; p=a;和上面的区别? 定义int a[ ]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是________. c语言int a[ ]=(1,2,3,4,5,6) *P=a,什么意思,*P=1? int a[]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是.