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

我可以将malloc与引用而不是指针一起使用吗?,c,C,问题是Player[0]是类型Player,Player\u构造函数是类型Player* 我如何克服这个问题?使用参考资料会有帮助吗?应该是 static Player players[32]; Player* Player_constructor() { Player* player = malloc(sizeof(Player)); // Do some initializations return player; } ... ... ... players[0]

问题是
Player[0]
是类型
Player
Player\u构造函数
是类型
Player*

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

应该是

static Player players[32];

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

static Player players[32];

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

static Player players[32];

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

static Player players[32];

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

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

static Player *players[32];

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

static Player *players[32];

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

static Player *players[32];

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

static Player *players[32];

这里不需要动态分配:您的
Player
结构数组可以直接使用,而无需
malloc
。处理初始化的一个简单方法是重写
Player\u构造函数
,如下所示:

static Player * players[32];

这里不需要动态分配:您的
Player
结构数组可以直接使用,而无需
malloc
。处理初始化的一个简单方法是重写
Player\u构造函数
,如下所示:

static Player * players[32];

这里不需要动态分配:您的
Player
结构数组可以直接使用,而无需
malloc
。处理初始化的一个简单方法是重写
Player\u构造函数
,如下所示:

static Player * players[32];

这里不需要动态分配:您的
Player
结构数组可以直接使用,而无需
malloc
。处理初始化的一个简单方法是重写
Player\u构造函数
,如下所示:

static Player * players[32];


C没有引用。C没有引用。C没有引用。C没有引用。C没有引用。那么我应该释放什么呢?我所要做的就是
释放(玩家)
并且我不会有内存泄漏,对吗?@user2924308不,
玩家
是静态分配的。你必须释放该数组的元素(
players[i]
for
i
从0到31)。那么我应该释放什么呢?我所要做的就是
释放(玩家)
并且我不会有内存泄漏,对吗?@user2924308不,
玩家
是静态分配的。你必须释放该数组的元素(
players[i]
for
i
从0到31)。那么我应该释放什么呢?我所要做的就是
释放(玩家)
并且我不会有内存泄漏,对吗?@user2924308不,
玩家
是静态分配的。你必须释放该数组的元素(
players[i]
for
i
从0到31)。那么我应该释放什么呢?我所要做的就是
释放(玩家)
并且我不会有内存泄漏,对吗?@user2924308不,
玩家
是静态分配的。相反,您必须释放该数组的元素(
players[i]
for
i
从0到31)。使用此解决方案意味着我不必担心以后释放内容以防止内存泄漏,对吗?此解决方案太棒了!使用这个解决方案意味着我不必担心以后释放东西来防止内存泄漏,对吗?这个解决方案太棒了!使用这个解决方案意味着我不必担心以后释放东西来防止内存泄漏,对吗?这个解决方案太棒了!使用这个解决方案意味着我不必担心以后释放东西来防止内存泄漏,对吗?这个解决方案太棒了!