const 在指標中的作用和一些幫助理解

2021-06-19 02:05:06 字數 953 閱讀 8607

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 程式中,它還可以修改函式的定義體,定義類中某個成員為恆...