在c/c++面試中經常會考到常量指標和指標常量,對初學者來說經常會分不清楚,參考網路上的資料,重新學習、記錄一下。
常量指標:指向常量的指標,即指向的內容為常量,不可更改,但指標自身的值可以修改。
常量指標常量:指標指向的內容不可改變,指標本身的值也不能改變。
int a = 3;
int b = 4;
const int *p11 = &a; // 常量指標
const int *p12 = &a; // 常量指標
p11 = &a; // 正確!指標本身的值可以修改
*p11 = 33; // 錯誤!指標指向的內容不可修改
int *const p2 = &a; // 指標常量
p2 = &b; // 錯誤!指標本身的值不可以修改
*p2 = 33; // 正確!指標指向的內容可以修改
const int * const p3 = &a; // 常量指標常量
p3 = &b; // 錯誤!指標本身不可修改
*p3 = 33; // 錯誤!指標指向的內容不可更改
記憶技巧:* (指標)和 const(常量) 誰在前先讀誰 ;
*象徵著位址,const象徵著內容;
誰在前面誰就不允許改變。
參考:
指標常量與常量指標
指標常量與常量指標 指標常量是指定義的指標只能在定義的時候初始化,之後不能改變其值,格式如下 資料型別 const 指標常量名稱 例項如下 1char constp1 2int constp2 const 位於指標宣告符 的右側,這說明宣告的物件是乙個常量,而物件的資料型別是指標。所以第一句定義了乙...
常量指標與指標常量
首先,我告訴大家乙個小規則,就是像這樣連著的兩個詞,前面的乙個通常是修飾部分,中心詞是後面乙個詞,怎麼說呢。就像這裡的常量指標和指標常量。常量指標,表述為 是常量的指標 它首先應該是乙個指標。指標常量,表述為 是指標的常量 它首先應該是乙個常量。我再分開細細說明,常量指標,它是乙個指標,什麼樣的指標...
常量指標與指標常量
在c 中,指標常量與常量指標是經常聽到的概念,很多學生一開始都搞不太清楚 1 如果指標不可以改變就叫指標常量,如 int const p a 這裡的p 或者將p指標其他的位址都的錯誤,所以叫指標常量 2 如果值不可以改變就叫常量指標,如const int p a 這裡如果執行 p b 那麼報錯,所以...