本意是想定义一个全局结构体变量,并设置其成变量的值。
typedef struct
{
int a;
int b;
}A_t;
A_t A;
A.a = 1; // error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
A.b = 2; // error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
int main(void)
{
}
错误分析:
在全局空间(即函数体之外)只能执行数据类型、变量、函数等的定义及变量的初始化,其他任何操作都不被允许。
typedef struct
{
int a;
int b;
}A_t;
A_t A={1,2}; //定义全局变量A并初始化成员变量。
int main(void)
{
A.a = 3; //函数内对全局变量中成员变量重新设值。
}
本意是想定义一个全局结构体变量,并设置其成变量的值。
typedef struct
{
int a;
int b;
}A_t;
A_t A;
A.a = 1; // error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
A.b = 2; // error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
int main(void)
{
}
错误分析:
在全局空间(即函数体之外)只能执行数据类型、变量、函数等的定义及变量的初始化,其他任何操作都不被允许。
typedef struct
{
int a;
int b;
}A_t;
A_t A={1,2}; //定义全局变量A并初始化成员变量。
int main(void)
{
A.a = 3; //函数内对全局变量中成员变量重新设值。
}