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(*)[]

 

posted @ 2020-01-29 14:21  huangshuo.007  阅读(82)  评论(0编辑  收藏  举报