答非所问,楼上均是 Ctrl V党。指针指向地址,内存地址,也就是说指针就是地址。 1维数组: int a[3],a就是首元素的地址,也就是指针。所以元素可以表示成*(a+0),*(a+1),*(a+2); 元素地址值:a,a+1,a+2. 2维数组: int a[3][3],元素:a[0][0]=*(a[0]+0)=*(*(a+0)+0) ……a[i][j]=*(*(a+i)+j) 元素地址值:*(a+0)+0……*(a+i)+j; 3维数组:int a[3][3][3],在外面套一个*()就是了。*(*(*(a+0)+0) +0)……a[i][j][k]=*(*(*(a+i)+j)+k) 元素地址值:去掉*()就是了:*(*(a+i)+j)+k
梦似曾见
2024-11-07 02:49:46
int a[10]; int *b; b=a; 然后a[i]和b[i]是一样的 int a[10][8]; int (*b)[8]; b=a; 然后a[i][j]和b[i][j]是一样的,注意括号和中括号内的数,中括号内的数与第二位相同。如:int c[3][4]; int (*d)[4]; d=c; int a[7][8][9]; int (*b)[8][9]; b=a; 然后就有a[i][j][k]和b[i][j][k]一致