指针概述
本次讲解内容:指针相关基本概念 参考文献: 《C Primer Plus》Page 267 ~ Page 314
1 变量:名称、地址、值
对于 变量:名称,值,地址 三个属性之间关系密切 从我们的角度来看,我们声明一个变量int a = 0; ,他有两个属性,名称和值,我们访问他的时候直接使用a就能得到值0,而对于计算机来说,这个变量也有两个属性,地址和值,计算机通过地址来访问值,也就是说,地址就是变量在计算机内部的名称
2 指针与一般变量
对于每一个变量,他都同时存在两个属性,一个是值,一个是地址(十六进制表示)。
- 对于一般变量,其值为我们一般说的 0,‘a’,3.3 一类的普通值。
- 而对于指针,他的值存储的是地址,当然,不论指针还是一般变量,都有自己的地址。
由此可以看出,如果一个指针存储的地址刚好是某个变量的地址,那么我们就可以通过这个指针来获取这个变量的值,从而进行一系列的操作,当然,与变量一样,指针存储的地址也可以改变,所以我们可以通过改变这个值来使得指针指向另一个变量,这些操作在后面的数组中会详细介绍。 此外指针还可以指向另一个指针,具体操作后面会学习。
3 基本量与派生量
- 基本量就是使用其名称直接能得到的量
- 派生量就是需要使用&或者*运算符才能获取的量
- 对于一般变量,基本量就是值,可以通过 & 运算符获取该变量的地址
- 而对于指向变量的指针,基本量是其指向变量的地址,可以通过 * 运算符获取该地址上的值(不论是一般值还是地址),当然也可以通过 & 运算符获取该指针本身的地址
- 关于
* 运算符, 其主要作用是解引用,用于得到引用对象代表的值,在于数组相关的使用中,起作用与data[0][1] 中的[] 相同。
|