int const *p = &a;
順帶說明下 const int *p 和 int const *p 其實是乙個意思,我習慣統稱為*號前。
在*號前面的作用:
為什麼會這樣呢???
下面這幅圖表明了意思 const *pa 只是將*pa保護了起來,直接使用*pa 就是直接呼叫a,所以你不可能 *pa = 4 這樣來改變值
但是它還有另一種改變的方式,就是將第二次的位址換掉,pa = &b
就好比,有個按鈕,按了就發射核彈了,你為了保護這個按鈕,給它做了個很強大的保護罩,我無法下手,那我直接把按鈕連線的線接到另乙個東西上,你在按動按鈕,確實通電了,但卻不在是連線核彈了
下面這個圖簡要說明了下
const 保護的是 pa裝載的位址 也就是 a 位址
這時候這塊東西是無法做任何改動的,pa 是無法操作的,那就通過*pa 來進行操作
總結下來,const 保護的是它右側的資料
const *p ->保護 *p ,*p的呼叫方法就無法使用
* const p ->保護p ,p的呼叫方法就無法使用
const 指標的一些總結
前兩天在網上看到華為的一些筆試題,對基礎的掌握仍然是這種大公司所重視的。其間對指標掌握的要求比較多,有一道是關於const指標的。看到那道題,回來整理了一些有關const指標的內容,分享一下。const說明指標變數,組合的情況可能會顯得很複雜。使用指標時要涉及兩個目標,即指標本身和指標所指的物件。關...
關於指標賦值和const使用的一些規則
double rates 3 const double locked 4 const double pc rates 合法 pc locked 合法 pc rates 3 合法 double rates 3 const double locked 4 double pc rates 合法 pc lo...
const 在c和c 中的作用
常型別是指使用型別修飾符const說明的型別,常型別的變數或物件的值是不能被更新的。因此,定義或說明常型別時必須進行初始化。概述1.const有什麼用途?在 c程式中,const的用法主要有定義常量 修改函式引數 修飾函式返回值等3個用處。在c 程式中,它還可以修改函式的定義體,定義類中某個成員為恆...