咱們開門見山吧,直接上**更容易理解
// an highlighted block
1 #include
2 #include
3 #include 45
struct student 6;
1011
intmain()
1220
21 p_student->name=
"tom"
;22 p_student->age=23;
2324
printf
("name:%s\n"
,p_student->name);25
printf
("age:%d\n"
,p_student->age);26
27free
(p_student)
;28 p_student=
null
;//注意,釋放掉了malloc空間,但結構體指標依然存在,仍需要指向null;
29return0;
30}
malloc函式的用法很簡單。首先定義乙個指標變數,然後使用malloc函式申請一塊動態記憶體,接著判斷申請動態記憶體有無成功。如果p_student == null,則說明申請動態記憶體失敗。
需要注意的是,定義指標變數p_student時指向null;使用free函式釋放了申請的動態記憶體malloc空間後,指標變數p_student仍然存在,因此仍需要指向null。
malloc函式 動態記憶體分配
malloc 向系統申請分配指定size個位元組的記憶體空間。返回型別是 void 型別。void 表示未確定型別的 指標。c,c 規定,void 型別可以 強制轉換 為任何其它型別的指標。原型 extern void malloc unsigned int num bytes 標頭檔案 在tc2....
malloc動態申請記憶體
1 malloc概述 malloc num 動態申請num位元組的記憶體空間,函式申請成功返回記憶體的起始位址 void型 申請不成功返回null指標,malloc不初始化記憶體空間 calloc type,num 函式會初始化申請的記憶體空間為0 使用完申請的記憶體後需要用free p 釋放記憶體...
返回動態記憶體 malloc
include include void getmemory char p int main 此段 有錯,getmemory str 中引數問題。編譯器會為每個函式的引數都複製乙份臨時副本,指標引數 p 的副本在c中是 p,並且對 p賦值為p 即 p p 如果在getmemory函式體內修改了 p,...