C 學習筆記 指標

2022-08-30 11:27:14 字數 1609 閱讀 5550

1、基本概念

作用:可以通過指標直接訪問記憶體

2、定義和使用

定義指標

他們的關係就是這樣的

執行輸出

使用指標

執行輸出會發現變數a的值也一起改變了,這是因為在記憶體中*p和a都是乙個記憶體位址

3、指標所佔記憶體空間

在32位作業系統下占用4個位元組,64位下佔8個位元組

4、空指標和野指標

執行後報錯,所以我們是沒許可權訪問系統記憶體的

雖然沒報錯,但是想一下隨便指向乙個位址,沒有去申請這個位址的許可權,有權利操作這個位址嗎?

舉個栗子:去酒店開房,網上隨便訂了一間還沒有去前台登記,就想進房間,這是不允許的

使用一下執行

注意:在程式中,盡量避免野指標

5、const修飾指標

5.1、常量指標:const 資料型別 * 指標名

指標的指向可以修改,但指標指向的值不可以修改

5.2、指標常量:資料型別 * const 指標名

指標的指向不可以改,但指標指向的值可以修改

5.3、const即修飾指標,又修飾常量:const 資料型別 * const 指標名

指標指向的值和位址都不可以修改

6、指標和陣列

執行後7、指標和函式

值傳遞執行後

如果想要main中的a和b也一起交換就要使用位址傳遞

執行後因為在swap2方法中都是修改同乙個記憶體位址的值,所以main中的a和b也交換了

C 指標學習筆記

例 int變數 updates 指標變數 p updates updates表示值,updates表示位址 p updates表示位址,p updates表示指標所指向的值。所以 updates p updates,updates p updates 指標的初始化 int p updates 表明 ...

C 學習筆記 this指標

先從c語言結構體初始化的例子來說明this指標。定義乙個結構體,並對其實例進行初始化。include includeusing namespace std struct student void initstudent name,name st age age strcpy st main 在ini...

C 學習筆記(指標)

字串是以 n 作為終止符的,所以字元陣列的大小比單詞的字元數多乙個。每乙個變數都有乙個記憶體位置,每乙個記憶體位置都定義了可使用連字型大小 運算子訪問的位址,他表示了記憶體的乙個位址。什麼是指標 指標是乙個變數,其值為另乙個變數的位址,既記憶體位置的直接位址。就像其他變數或常量一樣,必須使用指標儲存...