开发工具与关键技术: Visual Studio / C++
作者:何文涛
撰写时间:2019-4-25
指针是C++中有着很重要的地位,在C++里面广泛运用,是不可少的东西。
指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储另一个地方的值。
下面就举了个指针例子,
指针的运算符
& 取地址操作
- 间址访问操作
首先定义了两个变量S,B和两个指针变量b1,b2,指针运算符号* 。
接下来就是取址,指针是指向某个地址的指标至于指向的地方里面有什么
就是取址,取址符&,打比方来说取址就是说明了指针指向的地址有什么。
如图,指针b1所指的对象是S。
以上是输出结果,
输出S由于定义了变量S=5,所以结果是5,
输出b1,是一个指针所指向的地方图中的是十六进制在存储器里的地址,
输出*b1就是输出这个指针指向的地址的对象,
指向指针的指针(二级指针)
顾名思义,就是指针指向了一个指针,
如果一个指针指向的是另外一个指针,我们就称它为二级指针,或者指向指针的指针。
一个 int 类型的变量 a,p1是指向 a 的指针变量,p2 又是指向 p1 的指针变量,
如下图所示:
名为p2的指针指向了p1,而p1指向了a。
在定义时候二级指针加多一个间址符,**pdd
取址时取一级指针所指的地址,就成了二级指针。
当然也可以三级指针甚至四级及跟多级。
每增加一级指针,在定义指针变量时就得增加一个星号*。p1 是一级指针,
指向普通类型的数据,定义时有一个*;p2 是二级指针,指向一级指针 p1,
定义时有两个*。
实际开发中会经常使用一级指针和二级指针,几乎用不到高级指针。
高级指针一来麻烦二来容易搞混。