[問題] 關於函式問題malloc

看板C_and_CPP (C/C++)作者 (kidd)時間15年前 (2011/04/18 00:15), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串1/1
開發平台(Platform): C++ 問題(Question): if ((object = (ObjectData_T *)malloc(sizeof(ObjectData_T) * (*objectnum))) == NULL) exit (-1); 請問這malloc是怎麼樣的一個運行狀況呢? 我只瞭解到若為空值NULL則以exit(-1)表示非正常退出.. 非常感謝指教 補充: *objectnum為函式接收值的宣告指標變數 object 為資料結構所建立的指標名稱:ObjectData_T *object; 資料結構 typedef struct { char name[256]; int id; int visible; double marker_coord[4][2]; double trans[3][4]; int vrml_id; int vrml_id_orig; double marker_width; double marker_center[2]; } ObjectData_T; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 121.254.64.48 ※ 編輯: p7869 來自: 121.254.64.48 (04/18 00:20)

04/18 00:21, , 1F
http://pastie.org/1804129 拆成這樣,你的疑問是?
04/18 00:21, 1F

04/18 14:01, , 2F
malloc是幫你動態配置記憶體,但是假如記憶體空間不足時
04/18 14:01, 2F

04/18 14:02, , 3F
它會回傳一個null,因此用if去判斷是否為null
04/18 14:02, 3F

04/18 14:58, , 4F
謝謝^^,了解了大概,詳情用法我再去查查
04/18 14:58, 4F
文章代碼(AID): #1Dgn8tAv (C_and_CPP)
文章代碼(AID): #1Dgn8tAv (C_and_CPP)