指针地址的值是恒定的,这意味着我们无法更改指针所指向的地址的值。
常量指针声明如下-
Data_Type const* Pointer_Name;
例如,int const * p //指向const整数的指针
以下是C程序来说明指向常量的指针-
#include<stdio.h> int main(void){ int var1 = 100; // pointer to constant integer const int* ptr = &var1; //try to modify the value of pointed address *ptr = 10; printf("%d\n", *ptr); return 0; }输出结果
执行以上程序后,将产生以下结果-
Display error, trying to change the value of pointer to constant integer
以下C程序演示了如果删除const会发生什么情况-
#include<stdio.h> int main(void){ int var1 = 100; // removed the pointer to constant integer int* ptr = &var1; //try to modify the value of pointed address *ptr = 10; printf("%d\n", *ptr); return 0; }输出结果
执行以上程序后,将产生以下结果-
10