我試圖擴展我的玩家列表。使用realloc調整動態數組的大小
當我使用reallo
c函數時,它會保存除最後一個以外的播放器。 我的意思是說,如果我的陣列中有4名球員,並且我試圖將我的陣列擴展到7個,我得到了一個7號陣列和3名球員的新陣列。
這是函數的一部分:自己從initializeListForTree()
功能
void initializeListForTree(Player** players, int listSize)
{
int formulaSize = bla bla bla.....
players = (Player **)realloc(players, sizeof(Player *)*formulaSize);
if (!players)
{
printf("memory allocation failed\n");
}
}
所以你的意思是我需要做這樣的事情:player [i] = realloc(player [i],sizeof(Player *))??? – motis10
@ user1703871我已經更新了我的答案,您可以選擇適合您的whochever邏輯。 :-) –
@ user1703871是的,如果你想改變'player [i]',你當然可以從'initializeListForTree()'做。但是,爲什麼你使用'realloc()'?一個簡單的'malloc()'有什麼問題? –