初始化字符串值的向量

时间:2015-05-04 20:05:57

标签: c arrays pointers

我正在尝试创建一个字符串数组,它位于一个结构内部,我在语法部分遇到了一些麻烦。这是我的代码:

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;

1 个答案:

答案 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", /* ... */}};