c++鐨刴alloc鍑芥暟鎬庝箞浣跨敤
鍦–++涓紝鍙互浣跨敤malloc
鍑芥暟鏉ュ姩鎬佸垎閰嶅唴瀛樸€?code>malloc鍑芥暟鐨勫師鍨嬪涓嬶細
void* malloc(size_t size);
malloc
鍑芥暟鎺ュ彈涓€涓?code>size_t绫诲瀷鐨勫弬鏁帮紝琛ㄧず闇€瑕佸垎閰嶇殑鍐呭瓨澶у皬锛堜互瀛楄妭涓哄崟浣嶏級銆傚畠杩斿洖涓€涓?code>void*绫诲瀷鐨勬寚閽堬紝鎸囧悜鍒嗛厤鐨勫唴瀛樼殑璧峰鍦板潃銆?/p>
浣跨敤malloc
鍑芥暟鐨勬楠ゅ涓嬶細
-
鍖呭惈
<cstdlib>
澶存枃浠躲€?/p> -
璋冪敤
malloc
鍑芥暟锛屽苟灏嗘墍闇€鐨勫唴瀛樺ぇ灏忎綔涓哄弬鏁颁紶閫掔粰瀹冦€?/p> -
閫氳繃灏嗚繑鍥炵殑鎸囬拡寮哄埗杞崲涓烘墍闇€鐨勭被鍨嬶紝灏嗗叾璧嬬粰涓€涓寚閽堝彉閲忋€?/p>
浠ヤ笅鏄竴涓娇鐢?code>malloc鍑芥暟鍒嗛厤鍐呭瓨鐨勭ず渚嬶細
#include <cstdlib>
int main() {
int* ptr;
ptr = (int*)malloc(sizeof(int));
if (ptr == NULL) {
// 鍐呭瓨鍒嗛厤澶辫触
return 1;
}
*ptr = 42;
// 浣跨敤鍒嗛厤鐨勫唴瀛?/span>
free(ptr); // 閲婃斁鍐呭瓨
return 0;
}
鍦ㄤ娇鐢ㄥ畬鍒嗛厤鐨勫唴瀛樺悗锛屽簲璇ヤ娇鐢?code>free鍑芥暟鏉ラ噴鏀惧唴瀛橈紝浠ュ厤閫犳垚鍐呭瓨娉勬紡銆?code>free鍑芥暟鐨勫師鍨嬪涓嬶細
void free(void* ptr);
free
鍑芥暟鎺ュ彈涓€涓?code>void*绫诲瀷鐨勬寚閽堬紝鎸囧悜闇€瑕侀噴鏀剧殑鍐呭瓨鍧楃殑璧峰鍦板潃銆?/p>
相关问答