首页 > 编程语言 > 详细

随机:数组与指针要点

时间:2020-04-01 11:19:21      阅读:66      评论:0      收藏:0      [点我收藏+]

要点:

l  地址分为地址变量与地址常量。前者又叫指针,后者例如数组名。

l  地址两要素:数值、所指元素类型

l  两种形式的等价 a[i]等价于*( a+i)

                   *(p+i)等价于p[i]

l  数组名就是数组第一个元素的地址(注意:你要把任何维的数组都按一维数组来理解)

l  数组与指针的等价关系

l  多维数组可以理解为一维数组

          int          a[3];

模式: 元素类型?数组名[元素个数];

 

 

int a[2][3];

int (*p)[3] = &a[1];

int *q = a[1];

a[1]有双重性:

第一,它代表第二行,所以它有地址。(在int (*p)[3] = &a[1]中,是将a[1]看作第二行。)

第二,它代表第二行第一个元素的地址。(在int *q=a[1]中,是将a[1]看作第二行第一个元素的地址。)

 

地址是个常量,你不能说一个地址还有地址。

 

a[1]的类型是int [3]。

int (*p)[3] = &a[1]没有损失类型,但int *q=a[1]却从int [3]到了int *,也就是说decay了。

随机:数组与指针要点

原文:https://www.cnblogs.com/dr-xsh/p/12507284.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!