在C語言中,可以使用const
關鍵字來定義指針常量。指針常量是指指針的值是常量,即指針所指向的內存地址是不可變的。
例如,可以使用以下方式定義一個指向整數的指針常量:
const int* ptr;
這表示ptr
是一個指向整數的指針,且指針的值是不可變的。也就是說,ptr
指向的內存地址不能被修改,但是可以通過ptr
來修改所指向的值。
另外,還可以使用以下方式定義一個指針常量,其中指針本身也是不可變的:
int* const ptr;
這表示ptr
是一個指向整數的指針常量,且指針本身的值是不可變的。也就是說,ptr
指向的內存地址可以被修改,但是ptr
本身的值不能被修改。
需要注意的是,指針常量只是約束了指針的行為,不能保證所指向的值是常量。如果需要同時定義指針常量且指向的值也是常量,可以使用const
關鍵字同時修飾指針和指針所指向的類型。
例如,以下代碼定義了一個指向整數常量的指針常量:
const int* const ptr;
這表示ptr
是一個指向整數常量的指針常量,既指針本身的值是不可變的,也指針所指向的值是不可變的。