下标法: 数组名[下标] a[i]
首地址法: *(首地址+偏移量) *(a+i)
指针变量法: *指针变量 *(p+i)
一维数组:
int *p; p=a与p=&a[0]等价
p+i与a+i就是数组a[i]的地址
*(p+i)或*(a+i)就是a[i]的地址里的内容,即元素。
二维数组:
int *p; p=a和p=&a[0][0]等价;
因为a[i]和*(a+i)等价
所以a[0]+1和*(a+0)+1都是a[0][1]的地址,即&a[0][i]。
a[i]+j和*(a+i)+j都是a[i]
[j]的地址。
*(a[i]+j)或*(*(a+i)+j)是a[i][j]地址的内容。
网友评论