2.const在函式中的應用
使用const修飾指標,有兩種用法,達到兩種作用:
例程1:
int num = 10;
const int *p = #
此例子中,不代表num是乙個常量,而是不能通過指標p來修改num的值
例程2:
const int num = 10;
const int *p = #
int *p = #//錯誤
此例中,需要注意的是第三行錯誤的示例。
指向常量物件的指標必須也是常量
如果指標不加const修飾,就意味著允許通過指標修改指向的物件,與指向的常量物件相矛盾。
底層是常量,則指向它的高層必須也是常量,同樣適用於二級指標等
例程3:
int num = 10;
int *const p = #
注意const的位置,這個位置的const修飾後表示,const為常量指標,即只能指向這乙個量
例程4:
void a(const int *b);
表明了b在這個函式中是乙個常數值,即函式只能呼叫,不能修改
與形參不改變實參不同(不會報錯),這裡如果修改就如同修改常量,會報錯
比如:
const int a();
修飾返回值,意義不大
class a
使其成為常成員函式
只能作為類的成員
也是唯讀,不會修改物件本身,應對於類的指標this的呼叫
C 筆記 const關鍵字
在c 中用來修飾內建型別變數 int,float,char 巴拉巴拉之類 自定義物件,成員函式,返回值,函式引數。一.修飾普通變數 const int a 7 int b a 正確 a 8 錯誤,不能改變當乙個變數被定義為const 型別常量,便不可再次對其賦值。直接賦值,編譯器會報錯。通過指標型別...
c 筆記 const關鍵字的使用
1.關於const指標 如果關鍵字const出現在星號左邊,表示被指物為常量 如果出現在星號右邊,表示指標自身是常量 如果出現在星號兩邊,表示被指物和指標兩都都是常量。注意被指物是常量時,以下兩種寫法意義相同 const int p int const p 2.const成員函式 const成員函式...
C語言關鍵字 Const
c中const的使用 雖然這聽起來很簡單,但實際上,const的使用也是c語言中乙個比較微妙的地方,微妙在何處呢?請看下面幾個問題。問題 const變數 常量 為什麼下面的例子在使用乙個const變數來初始化陣列,ansi c的編譯器會報告乙個錯誤呢?const int n 5 int a n 答案...