要确保不能更改存储在指针中的地址,请在指针声明中使用const
关键字。
以下代码确保指针始终指向同一东西(地址):
int count = 43;
int *const pcount = &count; // 定义一个常量指针
第二个语句声明并初始化pcount
,并指示不能更改存储的地址。
因此,以下语句将在编译时会发出错误消息:
int item = 34;
pcount = &item; // Error - 尝试更改常量指针的指向地址
但是,仍然可以更改pcount
指向的值:
*pcount = 345; // OK - 更改 pcount 的值
它通过指针引用存储在count
中的值,并将其值更改为345
。可以直接使用count
来更改值。
可以创建一个指向是常量的值也是常量指针:
int item = 25;
const int *const pitem = &item;
pitem
是一个指向常量的常量指针,所以一切都是固定的。仍然可以直接更改c
的值。
要使所有内容都固定且不可修改,请将item
指定为const
。例如:
const int item = 25;
const int *const pitem = &item;