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