c程序中如果p指向某二维数组的某个元素,那么p[i]是什么意思?

如题所述

无论几维数组,只要指针p已经指向了某个元素,那么p[i]就是第i个元素值(i从0起算)。当然i有限定的取值范围。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-07-07
p[i]指的是
*(p+i)追问

所以比如说p=&a[1][2].那么p[2]代表&a[1][4](假设a[5][5])

追答

p[2]怎么会代表a[1][4]呢??
你怎么算的?
因为数组是连续分配的。
p[2]
代表的是a[1][0]个元素才对

本回答被提问者采纳
第2个回答  2017-10-11
p[i]就是指向第i行。
第3个回答  2016-07-07
数组中第i个元素追问

所以比如说p=&a[1][2].那么p[2]代表&a[1][4](假设a[5][5])

c程序中如果p指向某二维数组的某个元素,那么p[i]是什么意思?
无论几维数组,只要指针p已经指向了某个元素,那么p[i]就是第i个元素值(i从0起算)。当然i有限定的取值范围。

c++中有二维数组a[3][3],指针p指向&a[0][0]那么请问p[1]表示什么啊?
a[2] = {5,6,7};p指向二维数组;p[1] == a[1]

c语言中指针数组有两个中括号是什么意思,p[i][i]是啥意思
数组可以看作是一行连续的数据,只有一个下标,称为一维数组。在实际问题中有很多数据是二维的或多维的,因此C语言允许构造多维数组。多维数组元素有多个下标,以确定它在数组中的位置。本节只介绍二维数组,多维数组可由二维数组类推而得到。二维数组的定义 二维数组定义的一般形式是:dataType arrayName[l...

(*p)[i]与*p[i]有什么区别 怎么区分
p[i]:定义元素类型是指针的数组,同样的“i”应该是整型的。

C语言 二维数组里a[i]和p[i]的区别?
int a[3][3]相当于定义了int** a;当然就和int* p不一样了。但是你可以强制转换(int**)p

C语言指针问题
则将二维数组中的元素a[i][j]转换为一维线性地址的一般公式是:线性地址=a+i×M+j 其中:a为数组的首地址, M和N分别为二维数组行和列的元素个数。若有:int a[2][3], *p;p = &a[0][0];一样的 <BR>int a[3][4];int * p = a;然后p+((i)*4+j)就是指向的是a[i][...

C语言程序设计中"二维数组中元素指针的表示"的例题,求详解
若有:p=a[0]; 则p+j将指向a[0]数组中的元素a[0][j]。由于a[0]、a[1]┅a[M-1]等各个行数组依次连续存储,则对于a数组中的任一元素a[i][j],指针的一般形式如下:p+i*N+j用"*"运算符表示为:*( p+i*N+j)同样,a[i][j]也可使用指针下标法表示,如下:p[i*N+j]

p[i][j]==0什么意思啊,这个p[i][j]是什么个运算
p是一个二维数组,p[i][j]就似乎取 i 行 j 列的值,p[i][j]==0是判断那个值是否为0

C语言(*(*p+i))是什么意思
p应该是指向二维数组的首地址 (*(*p+i))代表的是第一行第i列的值

C语言二维数组问题
译器像Turbo C类型检查不严格,可能会用过 int* p=a[0]; \/\/这个合法,但不符合你的意图,比如你要访问a[1][1],用p的话就只能是p[5],而不能是p[1][1] ,这个指针p把a当作一个有12个元素的1维数组了,而不是3行4列的矩阵 正确的做法是 int (*p)[4]=a;要用一个指针来引用数组...

相似回答