是否有效的C声明一个结构并定义{}中包含的值?是否有效的C声明一个结构并定义{}中包含的值?
struct name new_name[] {
{"value1"},
{"value2"},
{"value3"},
}
其中:
struct name {
union {
char *value1;
} n_u;
char *value2;
}
是否有效的C声明一个结构并定义{}中包含的值?是否有效的C声明一个结构并定义{}中包含的值?
struct name new_name[] {
{"value1"},
{"value2"},
{"value3"},
}
其中:
struct name {
union {
char *value1;
} n_u;
char *value2;
}
因为缺少初始化之前等号(也尾随分号)你已经发布是无效的。否则,这是合法的,但有点难以阅读,因为它不会初始化每个字段,也不会使用一整套大括号。在完全支撑的初始化器中,每个数组,结构或联合的值列表都会有一对大括号。在这种情况下,你有一个结构数组,其中有联合体,所以应该有3个级别的支撑以达到最佳的可读性。一切拼写的等价物是:
struct name new_name[] = {
{{"value1"}, NULL},
{{"value2"}, NULL},
{{"value3"}, NULL},
};
将代码发布到您的问题中。不要让依赖外部链接的问题变得有意义。更好的是,让你的问题变得通用。绝对没有理由链接到该文件。发布相关的语法并询问“这是否有效的语法?” – meagar
我试图发布代码,但无法获得正确的语法来作为问题接受。 –
将代码缩进4个空格,或选择它并单击'{}'按钮。现在,你甚至没有提供行号,只是一个链接到600行文件。 – meagar