【发布时间】:2017-07-23 03:56:45
【问题描述】:
#include <stdio.h>
struct virus
{
char signature[25];
int size;
}v[2];
int main(void) {
static v[0] = {"Yankee",1813};
static v[1] = {"Doodle",2813};
int i;
for(i=0;i<=1;i++)
{
printf("%s %d\n",v[i].signature,v[i].size);
}
return 0;
}
我在这个 C 代码中遇到编译器错误。
错误:函数
main()中的声明语法
我猜测v[2] 中存在一些错误,因为它与外部类相关联,而v[0] 和v[1] 与静态类相关联。
但是,我不确定这是唯一的原因还是其他原因?
编辑:我通过删除错误的语法来编辑代码。
【问题讨论】:
-
您需要花费数小时或数天时间阅读有关 C 编程语言的知识。在此之前不要触摸键盘。
-
在`main`中也删除
static -
@ammoQ 删除仍然没有帮助。错误依然存在。
-
@Barry 对不起,我的错误。初始化例如
struct xyz v = { 1, "foobar" };有效,但类似的作业v = { 1, "foobar" };无效。
标签: c arrays struct variable-assignment compound-literals