我正在尝试创建一个字符串数组,它位于一个结构内部,我在语法部分遇到了一些麻烦。这是我的代码:
typedef struct data_players {
int id;
int hp; //start = 20, Max = 30
int wght; // Max = 20
int atk;
int def;
char *inventory[20] = {
inventory[0] = "knife";
inventory[1] = "healthpack";
}
} jogador;
答案 0 :(得分:2)
您无法分配struct
内部定义,typedef
也不能分配实例;它们是 types 的别名。
有类似的东西:
typedef struct data_players
{
int id;
int hp; //start = 20, Max = 30
int wght; // Max = 20
int atk;
int def;
char *inventory[20];
} data_players;
然后你可以这样做:
data_players jogador = {0, 20, 15, 5, 5, {"knife", "healthpack", /* ... */}};
使用指定的初始化程序,您可以执行以下操作:
data_players jogador = {.inventory = {"knife", "healthpack", /* ... */}};