我可以将malloc与引用而不是指针一起使用吗?

时间:2013-10-27 14:40:20

标签: c

static Player players[32];

Player* Player_constructor() {
    Player* player = malloc(sizeof(Player));
    // Do some initializations
    return player;
}
...
...
...
players[0] = Player_constructor();

问题是players[0]类型为PlayerPlayer_constructor类型为Player*

我如何克服这个问题?使用参考资料会有帮助吗?

3 个答案:

答案 0 :(得分:1)

应该是

static Player *players[32];

答案 1 :(得分:1)

您可以创建一个指针数组而不是结构:

static Player * players[32];

答案 2 :(得分:1)

此处不需要动态分配:Player结构数组可以直接使用,而不需要malloc。处理初始化的一种简单方法是重写Player_constructor,如下所示:

void Player_constructor(Player* player) {
    // Do some initializations
}
...
Player_constructor(&players[0]);