C 常量指標 指向常量的指標

2021-07-11 19:05:47 字數 1029 閱讀 3457

常量指標:

我們可以將指標宣告為常量指標,這樣指標是不可以改變的,但是指標指向的內容是可以改變。(指標中儲存的位址是不可變的)。

#include

using namespace std;

class a 

void set(int x)

private:

int i;

};int main()

指向常量的指標:

我們定義乙個指向常量的指標,那麼指標指向的整數是不可修改的,但是該指標是可以修改的。

#include

using namespace std;

class a 

void set(int x)

private:

int i;

};int main()

指標可以通過記憶體位址間接訪問資料,每個變數都有自己的位址,我們可以通過取位址運算符號& 獲得它們的位址,它們的位址可以儲存在指標變數中。

我們可以通過間接運算*讀取指標指向位址的值。

指標的型別是由它們所指向的物件來定義,指標未被初始化乙個記憶體位址或者剛刪除乙個指標都要將該指標賦值為0 ,否則該指標將會失控。

假如不想改變指標,那麼可將該指標定義未const。

假如不想改變指標指向的值,則將指標指向的值定義為const。

假如既不想改變指標也不想改變指標指向的值,把指標和指標指向的值均定義為const。

#include

using namespace std;

class a 

void set(int x)

private:

int i;

};int main()

用 new 在堆中可以建立乙個物件,然後將記憶體位址賦給指標,之後我們就可以通過該指標訪問堆中的物件。

如果要刪除物件,我們只需要對指標使用關鍵字delete,那麼就會刪除指標指向的物件並釋放儲存該物件的記憶體空間。

但是我們需要注意一點,指標並沒有被刪除,並且它仍然指向原來的記憶體空間,因此我們必須對它的記憶體位址清0或者重新複製。

C 常量指標,指標常量,指向常量的常指標詳解

目錄 指標就是指向變數在記憶體中的位址 資料是存放在記憶體中的,每乙個變數都有乙個記憶體位址,假設是乙個int型別變數a,佔4個位元組的記憶體區,那麼在記憶體中如果是小端方式儲存,我們建立指標p,把a的位址賦值給p,就是把a的首位址0x1100賦值給指標p,這個時候p的值就是變數a在記憶體中的首位址...

c 常量指標與指向常量的指標

這是兩個初學者容易混淆的概念。比如,t pt new t const t pct pt 指向常量 const t 的指標 t const cpt pt 常量指標,指向t 不過使用乙個引用比使用乙個常量指標更簡單 const t rct pt 不用const t const t rt pt 不用t c...

C 筆記 指向常量的指標 指標常量

const int p1 指向常量的指標 p1是變數,p1是常量,變數可以作為左值,也就可以改變,常量不能作為左值,變數有讀寫屬性,常量只能讀。int const p2 同上,c 標準規定,const關鍵字放在型別或變數名之前等價的。int const p3 a 指標常量 p3是變數,p3是常量 注...