涉及 ; 的结构数组的编译错误代币

标签 c struct

我想创建一个结构数组:

typedef struct
{
   int id;
   int department;
}employee;

int main(int argc, char *argv[])
{
 int i;
 employee job[3];   ////////////////error
 for (i=0;i<3;i++)
 {
    //do something
 }  
return 0;
}

问题是当我想编译时出现以下错误:

“;”之前有语法错误 token 并指向我标记的行

有什么帮助吗?

谢谢

最佳答案

根据以下记录,该代码单独而言是很好的:

pax> cat qq.c
typedef struct {
   int id;
   int department;
} employee;

int main (int argc, char *argv[]) {
    int i;
    employee job[3];   ////////////////error
    for (i=0;i<3;i++) {
        //do something
    }  
   return 0;
}
pax> gcc -o qq qq.c
pax> 

。您可能需要检查的一些事项是:

  • 有没有#define类似employeejob之类的东西?
  • 您确定 employee 在两个地方的拼写相同吗?
  • 您确定您拥有您声称拥有的所有分号吗?
  • 您的代码中是否存在任何“有趣”的字符(那些看似不可见但仍然会塞满编译器输入流的字符)?

一个好的开始是注释掉错误的行,然后看看下一行是否出现错误。这应该将范围缩小到该行(没有错误)或上一行(仍然有错误)。

如果您执行以下操作,您可以以十六进制模式查看整个文件(寻找有趣的字符):

od -xcb myfile.c

(在 Linux - Windows 下,我不确定,如果你有 gvim,你可以使用菜单项将其转换为十六进制)。

关于涉及 ; 的结构数组的编译错误代币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13714485/

相关文章:

c - 有关Double Pointer的问题,结构和不起作用的scanf();

c - 如何在 C 编程中根据 char 变量命名结构

c - 结构的不同大小元素的顺序

c - Libbson 和 MongoDB-C 驱动编译

c - 将虚拟地址映射回物理地址

c - 用于结构的 Malloc

c - 在 C 中是否以这种方式释放结构?

c - 如何禁止同一文件的多个 fopen()

python - 使用管道在进程之间传输 Python 对象时的字节限制?

c++ - fork 后内存损坏