C語言可以使用malloc函式。
C++可以使用運算子new。
malloc函式在C的stdlib.h標頭檔案,在C++的cstdlib標頭檔案裡面。
舉例:
int ArraySize;
scanf("%d",&ArraySize);
int *pointer = (int *) malloc (ArraySize);
分配了ArraySize個記憶體空間,
指標pointer指向這個記憶體空間的首地址。
使用完後記得用free()釋放記憶體。
new就在C++的iostream裡面,
string Input;
cin >> Input;
int CharsToAllocate = Input.length()+1;
char *CopyOfInput = new char [CharsToAllocate];
使用完後記得用delete釋放記憶體。
兩者中,malloc返回的指標型別是 空指標,需要強制轉換。
而new返回的指標一開始就指定了是什麼資料型別。
C語言可以使用malloc函式。
C++可以使用運算子new。
malloc函式在C的stdlib.h標頭檔案,在C++的cstdlib標頭檔案裡面。
舉例:
int ArraySize;
scanf("%d",&ArraySize);
int *pointer = (int *) malloc (ArraySize);
分配了ArraySize個記憶體空間,
指標pointer指向這個記憶體空間的首地址。
使用完後記得用free()釋放記憶體。
new就在C++的iostream裡面,
舉例:
string Input;
cin >> Input;
int CharsToAllocate = Input.length()+1;
char *CopyOfInput = new char [CharsToAllocate];
使用完後記得用delete釋放記憶體。
兩者中,malloc返回的指標型別是 空指標,需要強制轉換。
而new返回的指標一開始就指定了是什麼資料型別。