const 作用:定義常變數,不允許修改其值。
const修飾指標變數時:
(1)只有乙個 const ,如果 const 位於 * 左側,表示指標所指資料是常量,不能通過解引用修改該資料;指標本身是變數,可以指向其他的記憶體單元。
(2)只有乙個 const ,如果 const 位於 * 右側,表示指標本身是常量,不能指向其他記憶體位址;指標所指的資料可以通過解引用修改。
(3)兩個const,* 左右各乙個,表示指標和指標所指資料都不能修改。
規則如下:
1.基本資料型別對於const是透明的(放左放右無影響)
const int ca=10;//唯讀不改
a=ca;
ca=20;//error
int const cb=10;//等同於ca
2.const只能限定它的直接右邊
int a=10;
const int *p1=&a;
p=&a;//ok
*p=100;//error
int const *p2=&a;//等同於p1
const int *p3=&a;
p3=&b;//error
3.許可權可以同等或縮小傳遞,但不能放大
int a=10;
const int ca=10;
int *p1=&a;
int *p2=&ca;//error
const int *p3=&a;
const int *p4=&ca;
int *const p5=&a;
int *const p6=&ca;//error, 解引用後還可以改
關於const的使用
const void print const int num const 第乙個const修飾返回型別 第二個const修飾引數 第三個const修飾呼叫物件 const修飾類的成員函式,一般放在函式體後,如 void fun const 常成員函式宣告 形如 void funcname 參數列 c...
c語言中關於const的使用
const是c語言中乙個十分重要的修飾 我總結了它的含義使用以及作用如下 1.修飾的資料型別是常型別,常型別的變數或物件的值不能被改變 const int i 10 int a i 等價於int a 10 2.便於進行型別檢查,使編譯對處理內容有更多的了解,消除了一些隱患。3.方便的進行引數的調整和...
關於const的筆記
今天讓指標常量,常量指標的說法搞糊塗了,原理明白,但是叫法上的區分糊塗呵呵!const是c特別是c 中經常遇到的東西,能靈活的運用可以體現你的cc 的水平。1.常量和預編譯 我們都知道在c中用到常量往往是通過預編譯來實現,但是這樣最大的缺點是不能夠進行型別檢查,使用const修飾變數就可以客服這樣的...