可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。
p[i]表示的是指向第i行的指针,是int*型的。所以*(p[i]+j)其实和p[i][j]是一样的。
如果是*((*p+i)+j)的话,*p指向的是第一行元素,那么这个式子其实就是*(p+i+j)。就是从第一个元素开始数i+j个元素。
p+i可以看成是p移动i行,解引用后指向第i行元素的首******。下标运算[j]就是取第j个元素。和p[i][j]一样。
&p[0][0]是取p[0][0]的******,返回的是一个int*指针。+2*i+j其实就是从第一个元素开始向后移动2*i+j个元素。
这个其实是和*(&p[0][0]+2*i+j)一样的,因为p[0]和&p[0][0]都是指向第一行的元素,两个都是int*指针。******一样的。