[英]Can I use malloc with references instead of pointers?
static Player players[32];
Player* Player_constructor() {
Player* player = malloc(sizeof(Player));
// Do some initializations
return player;
}
...
...
...
players[0] = Player_constructor();
問題是players[0]
的類型為Player
而Player_constructor
的類型為Player*
。
我該如何克服這個問題? 使用參考會有所幫助嗎?
它應該是
static Player *players[32];
您可以創建一個指針數組而不是結構體:
static Player * players[32];
您在這里不需要動態分配:您的Player
結構數組可以直接使用,而無需malloc
。 處理初始化的一種簡單方法是按如下方式重寫Player_constructor
:
void Player_constructor(Player* player) {
// Do some initializations
}
...
Player_constructor(&players[0]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.