有关二维数组指针的问题。对于*(p+1),是指1行0列p[1][0]的地址,还是指p[0][1]的值?
展开全部
答:是指1行0列p[1][0]的地址
理由:
语句中 数组和指针 有恒等式:
声明 int p[5];
语句中 p[i] == *(p+i); 是数值
[] 不是标点符号,而是运算符。
--------------------------
声明 int p[5][4];
语句中 p[i][j] = (p[i]) [j] = *( p[i]+j ) = *( *(p+i) + j ) 是数值
--------------------------
声明 int p[5][4];
语句中 **(p+1) 是 *( *(p+i) + j ) 里 i=1,j=0 的值 p[1][0]。
语句中 *(p+1) 少1个星号,是第二行数据的始地址 &p[1][0]
理由:
语句中 数组和指针 有恒等式:
声明 int p[5];
语句中 p[i] == *(p+i); 是数值
[] 不是标点符号,而是运算符。
--------------------------
声明 int p[5][4];
语句中 p[i][j] = (p[i]) [j] = *( p[i]+j ) = *( *(p+i) + j ) 是数值
--------------------------
声明 int p[5][4];
语句中 **(p+1) 是 *( *(p+i) + j ) 里 i=1,j=0 的值 p[1][0]。
语句中 *(p+1) 少1个星号,是第二行数据的始地址 &p[1][0]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询