在C语言中,const关键字用于声明一个常量,即其值在初始化后不能被修改。当我们将const关键字与指针一起使用时,可以创建一个指向常量的指针。这种指针有以下两种使用方法:
const type *pointer_name;
例如,我们可以声明一个指向整型常量的指针,如下所示:
const int *ptr;
这里,ptr
是一个指向整型常量的指针,我们不能通过 ptr
修改它所指向的值。例如:
int a = 10;
const int *ptr = &a; // ptr 指向 a 的地址
*ptr = 20; // 错误!不能通过 const 指针修改所指向的值
type *const pointer_name;
例如,我们可以声明一个指向整型变量的常量指针,如下所示:
int a = 10;
int *const ptr = &a; // ptr 是一个指向 a 的常量指针
ptr = &b; // 错误!常量指针不能被重新赋值
总结一下,指向常量的指针(Pointer to const)允许你改变指针的值,但不能通过指针改变它所指向的值;而常量指针(Const pointer)不允许你改变指针的值,但可以通过指针改变它所指向的值。