关于指针与数组表示

 我来答
世纪网络17
2022-06-23 · TA获得超过5950个赞
知道小有建树答主
回答量:2426
采纳率:100%
帮助的人:143万
展开全部
1、一维数组

定义一个指针P

赋值p=&a[0]

a+i=&a[i]=p+i

*(a+i)=a[i]      仅当p指向数组的首地址时,指针下标表示法引用数组元素。p[i]=*(p+i)=a[i]

2、二维数组

(1)行指针。

定义格式:类型关键字 (*p)[常量N]

例如:int (*p)[4]表示定义了一个可指向4个整型数的一维数组的指针p(常量N规定了行指针所指向的一维数组的长度,不可省略)

初始化方法:p=a或p=a[0]。其中a表示二维数组的首地址相当于&a[0][0]。而a[0]表示二维数组时为a[0]+0,即&a[0][0]

用行指针表示二维数组a[i][j]各等价形式:

p[i][j]

*(p[i]+j)

*(*(p+i)+j)

(*(p+i)[j])

(2)列指针

定义格式:和普通变量指针定义格式相同。

例如;int *p表示定义了一个列指针p

初始化方法:p=a[0]或p=*a参照行指针初始化时的解释。

用列指针表示二维数组a[i][j]的各等价形式:

*(p+i*n+j)

p[i*n+j]

注意:不能用p[i][j]表示a[i][j].实际上通过列指针引用二维数组a[i][j],后可将二维数组看成一个有m行*n列个元素组成的一维数组。而p[i][j]表示的是一个二维数组。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式