我有這樣的代碼:調用malloc後,我得到意想不到的大小
char* str = (char*)malloc(27);
int num = strlen(str);
我在debag模式運行這個程序,我已經看到,num是等於40.爲什麼呢?爲什麼不是27?
我有這樣的代碼:調用malloc後,我得到意想不到的大小
char* str = (char*)malloc(27);
int num = strlen(str);
我在debag模式運行這個程序,我已經看到,num是等於40.爲什麼呢?爲什麼不是27?
在C++中,您應該使用new而不是malloc。另外我會建議使用std :: string或std :: vector而不是動態數組。 –
Borgleader
對於原始標題真的很想動-1。每當一個圖書館功能表現奇怪,你的第一個想法應該是「我怎麼用它錯了?」不是「圖書館壞了」。 –
如果你看過這兩個函數的文檔,答案會很明顯。 –