期待;在字符串声明结束时

时间:2015-11-12 21:57:11

标签: c arrays string char declaration

这些字符数组在语法上有什么问题?

struct NewBuiltIn{
    char *CommandName[64] = "bigbluetest";
    char *FunctionName[64] = "big_blue_test";
    char *AnalyzerFunction[64] = "bbt_analyzer";
};

我收到错误代码......

error: expected ';' at end of declaration list
        char *CommandName[64] = "bigbluetest";
                             ^
                             ;

1 个答案:

答案 0 :(得分:1)

在定义结构时,您无法初始化结构。所以你应该正确定义它,然后创建它的实例

struct NewBuiltIn my_builtin = {
    "bigbluetest",
    "big_blue_test",
    "bbt_analyzer"
};

所以要定义结构,你可以这样做:

struct NewBuiltIn {
    char CommandName[64];
    char FunctionName[64];
    char AnalyzerFunction[64];
};

其中定义了一个包含3个成员的struct NewBultIn,所有成员都是char数组。您的定义是创建一个char *指针数组。