關於 const的理解

2021-10-03 15:48:53 字數 822 閱讀 8365

一、常見寫法

1.const int p; // p is a int const. p是乙個int型常量

2.const int *p; //p is a point to int const. p是乙個指標,指向int型常量。即p是乙個指向int型常量的指標。

3.int const* p; //與2相同 const int 和 int const 是一樣的意思。

4.int * const p; // p is a const point to int. p是乙個指向int的const指標

5.const int * const p; //p is a const point to int const. p是乙個指向int型常量的const指標。

6.int const * const p; //同5

1、const 的理解

const 是c語言的乙個關鍵字,const 關鍵字是把變數變為乙個唯讀的變數(也就是不可以作為左值)不是將這個變數變為常量。經過const 修飾的變數成為唯讀的變數之後,這個變數就只能作為右值(只能賦值),絕對不能成為左值(不能接收賦值)。

c++ 則是將 const 修飾的常量變為乙個真正的常量(變數的內容不可以被修改), 這一點的區別需要進行注意。當 const 變數的時候,就將這個常量放在符號表裡面,編譯的過程中發現使用了變數,那麼就從符號表裡面的值進行替換。

1.經過const 修飾的變數,在定義的時候,就要進行初始化。

2.const 關鍵字可用來限定函式的形參

2.1指向const的指標(即乙個指標,指向const 型別的)

4、指標指向和內容都是不可變的

5、理解記憶

const指標的理解

有點複雜啊,一系列const組合起來。看的人頭都大了!但總的來說,想要存放常量物件的位址,只能使用指向常量的指標 const double pi 3.14 pi是個常量,它的值不能改變 double ptr pi 錯誤 ptr是乙個普通指標 const double cptr 正確 cptr可以指向...

關於const的筆記

今天讓指標常量,常量指標的說法搞糊塗了,原理明白,但是叫法上的區分糊塗呵呵!const是c特別是c 中經常遇到的東西,能靈活的運用可以體現你的cc 的水平。1.常量和預編譯 我們都知道在c中用到常量往往是通過預編譯來實現,但是這樣最大的缺點是不能夠進行型別檢查,使用const修飾變數就可以客服這樣的...

關於const的總結

const int a const integer int const a const integer int const a integer poiter to const integer int const a const integer poiter to integer int a cons...