错误前的预期表达

时间:2015-05-11 19:34:45

标签: c struct expression

我已经在这个项目工作了一段时间,我想测试它,但我一直收到这个错误,我不知道该怎么办,我很困惑。这是我的代码:

    typedef struct{
       int nr_pages;
       int id;
       int a,b; 
       int aux;
    }information;

    int main(){
     int i;
     i = information.b;
     //and more stuff happens
    } 

我一直得到的错误是"在'信息'"之前的预期表达。我告诉i = information.b的确切位置 我做错了什么?

2 个答案:

答案 0 :(得分:4)

您需要在使用之前实例化结构。尝试:

typedef struct{
   int nr_pages;
   int id;
   int a,b; 
   int aux;
}information;

int main(){

 information info;
 info.b = 0;
 info.a = 0;
 ...
 etc
 ...

 int i = information.b;
 //and more stuff happens
} 

答案 1 :(得分:0)

您将information声明为类型,而不是变量。这就是typedef的用途。

C语句中的i = ...不是声明,而是赋值。