C++ 指针

首地址:一段连续的存储地址中,第一个单元的地址是首地址。

指针类型的加减,是以指针所指向的类型为单位,进行偏移

 

一维数组与指针:

定义一个一维数组,数组名是整个数组首地址。

int a[5];

其中a和&a[0]是相同的,都是整个数组的首地址,类型是int*

但是&a的类型是int(*)[5],,指向数组的整个地址。

如何利用指针访问数组的值?

定义一个数组 int a={1,2,3,4,5};

定义一个指针 int *p =a;//a代表了这个数组的首地址,p指向a[0]

那么*p的就是取值a[0]  

p+1就是对应&a[1],那么*(p+1)就是a[1]

p+2就是对应&a[2],那么*(p+2)就是a[2].

。。。以此类推

 

二维数组和指针

int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

a作为首地址,指向的是一维数组的第一个地址,就是a指向a[0],a+1指向a[1],a+2指向a[2]。a的类型就是int(*)[4]。

int a[2][3][4] a作为首地址,类似的指向二维数组的第一个地址。

 

指针数组:int*[]

数组指针:int(*)[]

 

原文链接: https://www.cnblogs.com/xiaohuang007/p/12240224.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++ 指针

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/325746

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午3:28
下一篇 2023年3月1日 下午3:28

相关推荐