我有一个名为 player 的结构,我需要制作一个 MAX 播放器数组,所以我基于以下页面 C - initialize array of structs ,像这样:
DEFINE MAX 200
typedef struct
{
int ID;
} Player;
Player* PlayerList = malloc(MAX * sizeof(Player));
问题是我不断收到以下错误
error: expected expression before ‘=’ token
error: initializer element is not constant
基本代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX = 200;
typedef struct
{
int ID;
} Player;
Player *PlayerList;
int start()
{
PlayerList = malloc(MAX * sizeof(Player));
return 1;
}
int main(int argc, char const *argv[])
{
/* code */
return 0;
}
最佳答案
您不能从任何函数外部调用 malloc()
。只需声明 Player* PlayerList;
,然后让您在 main()
中做的第一件事就是 PlayerList = malloc(MAX * sizeof(Player));
。
关于c - 初始化结构数组 - C 代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16328368/