指针和引用
一、指针概念
1.声明指针
C/C++ 提供了直接操作内存的能力:指针。指针有两个要素:
- 操作的内存地址
- 操作的内存大小
指针语法:
数据类型* 指针名;
定义指针一定要初始化!
数据类型* 指针名{};
2.取地址
利用取地址符号 &
获取变量的地址
// 定义一个int类型的变量a,并初始化为10
int a{10};
// p是一个指针,指向a的地址
int* p{&a};
3.解引用
利用解引用符号 *
(间接运算符)访问指针指向的内存
// 通过解引用操作符*访问指针p指向的内存,并将值赋给变量b
// b的值为10
int b{*p};
二、指针数组
指针数组是一个数组,数组中的每个元素都是一个指针。指针数组可以用来存储多个变量的地址,从而实现对这些变量的间接访问。
#include <iostream>
int main() {
int a{10};
int b{20};
int c{30};
// 定义一个指针数组,包含3个int类型的指针
int* arr[3]{&a, &b, &c};
// 通过指针数组访问变量的值
for (int i = 0; i < 3; ++i) {
std::cout << "Value at arr[" << i << "] = " << *arr[i] << std::endl;
}
return 0;
}