本質上乙個常量,指標用來說明常量的型別,表示該常量是乙個指標型別的常量。在指標常量中,指標自身的值是乙個常量,不可改變,始終指向同乙個位址。在定義的同時必須初始化。用法如下:
int a = 10, b = 20;
int * const p = &a;
*p = 30; // p指向的位址是一定的,但其內容可以修改
常量指標本質上是乙個指標,常量表示指標指向的內容,說明該指標指向乙個「常量」。在常量指標中,指標指向的內容是不可改變的,指標看起來好像指向了乙個常量。用法如下:
int a = 10, b = 20;
const int *p = &a;
p = &b; // 指標可以指向其他位址,但是內容不可以改變
int main()
int main()
錯誤
根據字串賦值規則,可以修改整個字串,方法是對指向字串的指標str進行賦值,如下:
如果想要程式編譯通過,就不能將str宣告為指標常量,否則str在初始化之後就無法修改。因此將const修飾符去掉,並修改字串賦值語句,修改後程式如下:
int main()
指標 常量指標和指標常量
const關鍵字宣告乙個常量,常量宣告後不能修改。類似的,我們可以宣告常量指標 double radius 5 double const pvalue radius pvalue 4 可以修改其中pvalue是乙個常量指標,其宣告和初始化必須在同一條語句中,後面的程式不能為其賦予新的位址。注意,雖然...
常量指標 和 指標常量
在c 的學習中,有人經常搞不清楚 常量指標 和 指標常量 這兩個概念。其實簡單一點講,常量指標 所指向的位址上的資料是常量,而 指標常量 所指向的位址是常量,位址上面的資料是可以變化的。常量指標,表述為 是常量的指標 它首先應該是乙個指標。指標常量,表述為 是指標的常量 它首先應該是乙個常量。指標常...
常量指標和指標常量
定義 具有只能夠讀取記憶體中資料,卻不能夠修改記憶體中資料的屬性的指標,稱為指向常量的指標,簡稱常量指標。宣告 const int p int const p 注 可以將乙個常量的位址賦值給乙個對應型別的常量指標,因為常量指標不能夠通過指標修改內粗資料。只能防止通過指標引用修改記憶體中的資料,並不保...