指针常量的扩展说法
指针的值(即存储的地址)是一个常量,也就是说这个指针是一个常量, 指针的值不能进行修改。但是解引用之后的值(即指向地址中的值)可以修改
(因为指针常量指向的变量地址不可以更换,但是指针指向地址的变量值可以通过解引用修改)。
指针常量的格式
数据类型* const 指针变量名 = &变量名;
注意:
const
是常量的英文,它是一个关键字。
指针常量的使用、修改指针指向地址的变量值
代码
#include <iostream>
using namespace std;
int main() {
int a = 1;
int b = 2;
int* const p = &a;
//p = &b;
//这行代码会报错。因为 p 已经定义为指针常量,不能进行修改。若要运行,需要修改表达式的左值(赋值符号左边的值)。
*p = 6; //解引用之后的值(也就是指向地址中的值),是可以修改的。
cout << "a=" << a << endl; // 6
return 0;
}