&a为取的整个数组的地址,故&a+1为数组后的地址,ptr-3为数组中倒数第三个元素的地址。故值为9
p为数组指针,指向含有三个整形元素的数组:
p[0]为数组第一行首地址,p[0]+1即为&p[0][1],*(p[0]+1)即为n[0][1]=20
p为二级指针,*p为数组第一行首地址即为p[0],(*p)[2]即为p[0][2]=n[0][2]=30
在C语言中,若有定义:int a[4][10](其中0<=i<4,0<=j<10);则下列选项中对数组元素a[i][j]引用:
*(a+i)+j,a[i]+j表示的a[i][j]的地址
*(&a[0][0]+10*i+j)和*(*(a+i)+j),*(a[i]+j)表示的为a[i][j]