在C語言中,常量指針和指針常量是兩種不同的概念。
常量指針是指指針指向的內存地址是一個常量,即指針本身的值是不可更改的,但指針指向的內存中的值是可以改變的。聲明一個常量指針可以使用const關鍵字,例如:
int x = 10;
int y = 20;
int *const ptr = &x;
*ptr = 30; // 合法,改變指針指向的值
ptr = &y; // 非法,無法改變指針的值
指針常量是指指針本身是一個常量,即指針的值是不可更改的,但指針指向的內存中的值是可以改變的。聲明一個指針常量可以使用const關鍵字,將其放在指針的前面,例如:
int x = 10;
int y = 20;
const int *ptr = &x;
*ptr = 30; // 非法,無法改變指針指向的值
ptr = &y; // 合法,改變指針的值
總結一下: