8 C 指標和自由儲存空間

2022-08-16 17:42:10 字數 1943 閱讀 2535

8、c++指標和自由儲存空間

電腦程式在儲存資料時必須跟蹤3中基本屬性。

指標是 乙個變數,其儲存的是值得記憶體位址

對於常規變數的位址,只需要對變數應用位址運算子(&),就可以獲得它的位置;例如,如果home是乙個變數,那麼&home就是他的位址。

#include "stdafx.h"

#include //引用庫函式

using namespace std; //使用命名空間

struct inflatable

;int main() //主函式,程式執行的入口

結果:

因此,指標名表示的是位址。* 運算子被稱為間接值(indirect velue)或解除引用(dereferencing)運算子,將其應用於指標,可以得到該位址儲存的值(這和乘法使用的符號相同,c++根據上下文來確定所指的是乘法還是解除引用)

1、指標申明與初始化:

指標宣告必須制定指標的資料的型別

int * p_updata
這表明,p_updata的型別為int,由於*運算子被用於指標,因此p_updata變數本身必須是指標。可以這樣說,p_updata是指標(位址),而*p_updata是int,而不是指標。

#include "stdafx.h"

#include //引用庫函式

using namespace std; //使用命名空間

struct inflatable

;int main() //主函式,程式執行的入口

結果:

2、指標的危險:

c++在建立指標時,計算機將分配用來儲存位址的記憶體,但不會分配用來儲存指標所指向的資料的記憶體。為資料提供空間是乙個獨立的步驟。

long *fellow;           //建立乙個指標

*fellow = 223323; //為指標賦值,但是fellow,沒有被賦值,所以不知道fellow代表的位址是多少,所以不知道223323將會儲存在記憶體中的**。

3、指標和數字

4、使用new來分配記憶體

在c語言中可以使用malloc()函式來分配記憶體,在c++中仍然可以,但c++還有更好的方法——new運算子 

5、使用delete釋放記憶體

6、使用new建立動態陣列

c 指標和自由儲存空間

本博文為本人閱讀c primer plus第4章復合型別後做的小筆記,僅記錄本人不熟悉或者容易犯錯的地方 指標是乙個變數,儲存的是值得位址,而不是值本身 位址運算子 可以獲得變數的所在位址 指標名表示的是位址,運算子被稱為間接值 indirect value 或者解除引用 dereferencing...

c 學習之 指標和自由儲存空間

1.申明和初始化指標 int p1 這表明 p1的型別為int 由於 操作符被用於指標,因此p1變數本身必須是指標。可以這樣說,p1是指標 也即是位址空間 p1是int,而不是指標 順便說一下,操作符兩邊的空格是可選的 傳統上c程式設計師用 int p1,而很多c 程式設計師用int p1 可以在申...

指標和自由儲存空間 陣列 指標算術

第4章,第7 8節 指標和自由儲存空間 是變數,儲存的是值的位址 int p1,p2 中 p1表示指標,而p2表示整型變數 指標本身的長度通常相同 建立時,會分配用來儲存指標位址的記憶體,但不會分配用來儲存指標所指向的資料的記憶體 指標不是整型,不能簡單地將整數賦給指標 new是從heap或free...