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