指针的概念
C++中内存单元内容与地址
- 内存由很多内存单元组成,这些内存单元用于存放各种类型的数据
- 计算机对内存中的每个内存单元都进行了编号,这个编号就称为内存地址,地址决定了内存单元在内存中的位置
- 记住这些单元地址不方便,于是C++的编译器就允许通过设置变量的方式来访问这些内存地址,而这个变量就是指针
举例:
int a = 5;
int* ptr = &a; // 此时ptr存储的变量内容就是a的地址,通过ptr可以间接访问a
指针的定义与间接访问操作
- 指针定义的基本形式:指针本身就是一个变量,只不过它存储的内容是地址。对于类型
T
,T* ptr
就是在定义一个指向类型为T
的指针ptr
,这个ptr
就可以存储「类型为T
的变量的地址」 - 通过一个指针访问它所指向地址的过程称为间接访问或者引用指针,而这个用于执行间接访问的操作符就是单目运算符
*
例如:std::cout