我得到了在實驗室這塊示例代碼和我嘗試去了解它理解的malloc
int size = 5;
int **ppi2 = (int **) malloc(size * sizeof(int *));
這裏是我對它的擊穿截至目前:
爲了分配足夠的內存,我們必須將我們想要爲(size)分配內存的東西的數量乘以這些東西的大小(sizeof(int *))。這很簡單,很有意義。
我明白我們必須將malloc的結果轉換爲雙指針,因爲malloc返回字節並且該變量是雙指針,但爲什麼我們將ppi2設置爲等於malloc的結果呢?它是否會使ppi2指向我們剛剛分配的內存中的位置?
首先,[不要強制轉換'malloc']的結果(http://stackoverflow.com/questions/605845/do-i-cast-the-result-of-malloc)。 – pzaenger
我在C編程,所以我認爲我應該投它 –
你需要將結果轉換爲'C++'而不是'C'。只需閱讀提供的鏈接中接受的答案即可。 – pzaenger