C 常量指標與指標常量的區別

2021-07-27 14:12:45 字數 501 閱讀 8909

c++提供了用const定義常變數的方法,例如:const int a =5; 

或者 int const = 5;表示變數的值是固定的,不能進行修改。這裡主要區分一下指標常量和常量指標。

1:指標常量:表示:int a = 3,b=4;

int *const p2 = &a;

p2 = &b; 這種表示方法是錯誤的。但是指標指向的變數的值是可以修改的,即:

*p2 = 200;這種表示是正確的。

2:常量指標:表示:int const * p1 = &a;

這裡同樣是乙個指標,與上面區別的是,這裡的指標指向的為常量,即:a為常量,常量指標的使用要注意,指標指向的物件不能通過這個指標來修改,可是仍然可以通過原來的宣告修改,也就是說常量指標可以被賦值為變數的位址,之所以叫做常量指標,是限制了通過這個指標修改變數的值。即 a=4;是可以的。但是 *p1 = 4是不允許的。

此外,在定義的時候可以把const與int位置互換,比如:const int *p1 = &a;

常量指標與指標常量的區別

一 區別 區分是常量指標還是指標常量,關鍵要看const修飾的是誰。int const與const int表達的意思是一樣的。常量指標 本質是指標,並且這個指標是乙個指向常量的指標,指標指向的變數的值不可通過該指標修改。其格式為 int const p或者 const int p指標常量 本質是乙個...

常量指標與指標常量的區別

const 常量 指標 const int p int const p 常量指標 int const p 指標常量 常量指標通常指向常量,不能通過指標去修改常量的值。有時也會指向變數,eg int s 10 const int p s 但還是不能通過指標去修改指向的常量的值,可以通過 s 20,去修...

常量指標與指標常量的區別

這個老是容易搞混,以前很清楚,但過一段時間不用,又忘了,因此今天整理成部落格,以備以後查詢。const char 型別的指標 指向常量的指標 其所指向的內容為常量,是不可以修改的,但其指標值是可以修改的。例如 char str hello 定義乙個字元陣列 const char pstr str 把...