Page 52 - 高中 信息技术 选择性必修1 数据与数据结构
P. 52
第二章 数据的存储方式 2.3 数据的链式存储与组织
2.3.1 指针与指针变量
采用链式结构存储数据的特点是:每个数据元素除了要存储数据本身的信息外,还需
要存储一个指示其后继数据元素的信息(即后继数据元素的存储位置)。在C++语言中,
通常使用指针(Pointer)来实现这种存储位置的指示。
所谓指针,就是指某个内存单元的地址。在C++语言中,指针也是一种数据类型。与
普通数据类型不同的是,定义指针变量(Pointer Variable)没有专门的关键字,而是利用
“*”(星号)来进行定义。C++语言中定义指针变量的一般形式为:
类型说明符 *变量名;
广东教育出版社
例如,以下代码分别定义了一个整型指针变量pi、浮点型指针变量pf、字符串指针变
量ps和结构类型指针变量pware:
//指针变量的定义形式:类型说明符 *变量名;
int *pi; //定义一个整型指针
float *pf; //定义一个浮点型指针
string *ps; //定义一个字符串指针
struct wareInfo *pware; //定义一个结构类型指针
为弄清指针的本质含义,首先要理解变量是什么。定义一个变量,其实就代表分配计
算机内存中的一个存储单元用于存储数据,变量名通常就代表所存储的数据。但是,如果
我们在变量名前面使用“&”运算符(取地址运算符),则表示获取变量对应存储空间的
地址。例如:
int a=42;
int *pi=&a;
上面的两行代码表示:定义一个变量a用于存储整数42,定义一个整型指针变量pi,其
初始值指向变量a,也就是说,变量pi保存的是变量a的内存地址,如图2-9所示。
图2-9 指针变量的本质
44 44
21X2204.indd 44 2019/9/26 13:53:08