一、指標的危險
指標被建立時,程式為其隨機分配位址,這是很隱蔽的bug。有指標一定要手動為其分配位址!!
二、new來分配記憶體
new將找到乙個長度正確的記憶體塊,並返回該記憶體塊的位址,
int *p=new int;
三、使用delete
需要記憶體時可以用new來申請,用delete來釋放。
int *p= new int;
delete p;
使用delete需要注意以下幾點:不能用delete釋放不是new的記憶體。不能使用delete釋放同一記憶體塊2次。使用new為陣列分配記憶體,則應用delete來釋放。如:int *p=new int ,delete p
strcpy函式()和strncpy()
strcpy()函式接受2個函式,乙個是目標位址,第二個是複製字串位址。當複製字串長度大於目標位址長度,就會覆蓋陣列後面記憶體。這時使用strncpy(),該函式接受3個引數。strncpy(food,「i am so confused」,5)主要目標記憶體用完時,它不會新增空白字元。所以用手動新增『\0』,food[19]=』\0』;
四、使用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 可以在申...
8 C 指標和自由儲存空間
8 c 指標和自由儲存空間 電腦程式在儲存資料時必須跟蹤3中基本屬性。指標是 乙個變數,其儲存的是值得記憶體位址 對於常規變數的位址,只需要對變數應用位址運算子 就可以獲得它的位置 例如,如果home是乙個變數,那麼 home就是他的位址。include stdafx.h include 引用庫函式...