在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)不允許你改變指針的值,但可以通過指針改變它所指向的值。