当要声明指针指示无法更改指向的值时,可以使用const
关键字。
long value = 9999L;
const long *pvalue = &value; // 定义指向常量的指针
例如,以下语句现在将导致编译器错误:
*pvalue = 8888L; // Error - 试图改变`const`变量的值
pvalue
指向的值不能更改,但是可以更改变量value
的值:
value = 7777L;
指针本身不是常量,因此仍然可以更改指向的内容:
long number = 8888L;
pvalue = &number; // OK - 更改pvalue中的地址
这会将存储在pvalue
中的地址更改为指向number
。不能更改指针存储的值,
但可以更改存储在指针中的地址,但不允许使用指针更改指向的值。