與一般的指標變數的定義區別在於,在*和指標名之間多了乙個const關鍵字;同時,還有乙個區別就是,一般指標變數可以先只是宣告,後面再初始化,但常量指標不行,常量指標必須在宣告的同時就得初始化,同時,在初始化後再也不能改變其值
int a = 3;
int b = 5;
int *p1;
p1 = &a; //正確,一般得指標變數可以先宣告,再定義
int *const p2; //錯誤,常量指標在宣告的時候就得初始化
p2 = &a; //錯誤,常量指標不能被再次賦值和修改
int *const p3 = &a; //正確
p3 = &b; //錯誤,常量指標不能被再次賦值和修改
指標不是常量,指標可以改變其儲存的位址值,但所指向的物件值是常量,不能被改變
const int a = 3;
int b = 5;
int c = 9;
//所以得在int前面加上const修飾,表示此指標指向的是乙個整型常量
const int *p1 = &a; //正確
*p1 = b; //錯誤,不能給乙個常量賦值
p1 = &c; //指標還是普通的指標,可以改變其儲存的位址值
指標是常量指標,所以其儲存的位址值不能被改變,它所指向的物件是常量,也不能被改變
const int a = 3;
int b = 5;
int c = 9;
const int *const p1 = &a; //p1是乙個指向常量的常量指標
p1 = &b; //錯誤,p1是常量指標,不能再次賦值
*p1 = c; //錯誤,p1指向的物件是常量,不能再次賦值
誰是常量誰就必須在宣告的時候就得初始化,同時,也不能被再次賦值和改變需要注意的是,將乙個常量的位址賦給乙個指標時,要在前面加上const
指標常量與常量指標
指標常量與常量指標 指標常量是指定義的指標只能在定義的時候初始化,之後不能改變其值,格式如下 資料型別 const 指標常量名稱 例項如下 1char constp1 2int constp2 const 位於指標宣告符 的右側,這說明宣告的物件是乙個常量,而物件的資料型別是指標。所以第一句定義了乙...
常量指標與指標常量
首先,我告訴大家乙個小規則,就是像這樣連著的兩個詞,前面的乙個通常是修飾部分,中心詞是後面乙個詞,怎麼說呢。就像這裡的常量指標和指標常量。常量指標,表述為 是常量的指標 它首先應該是乙個指標。指標常量,表述為 是指標的常量 它首先應該是乙個常量。我再分開細細說明,常量指標,它是乙個指標,什麼樣的指標...
常量指標與指標常量
在c c 面試中經常會考到常量指標和指標常量,對初學者來說經常會分不清楚,參考網路上的資料,重新學習 記錄一下。常量指標 指向常量的指標,即指向的內容為常量,不可更改,但指標自身的值可以修改。常量指標常量 指標指向的內容不可改變,指標本身的值也不能改變。int a 3 int b 4 const i...