C语言全局变量的初始化
2014-07-15 19:47
274 查看
本意是想定义一个全局结构体变量,并设置其成变量的值。
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;
//函数内对全局变量中成员变量重新设值。
}
相关文章推荐
- 初始化的和未初始化的全局变量分别放在什么地方?BSS段的全称是啥?为啥用BSS 段,有啥好处
- 初始化的全局变量一定放在.data段中吗?
- C/C++语言中全局变量重复定义问题的解决方法
- LCC编译器的源程序分析(69)全局变量的初始化
- C/C++中全局变量,静态局部变量,局部变量的初始化问题
- 通过未初始化全局变量,研究BSS段和COMMON段的不同
- C C++全局变量初始化 initializer element is not constant 错误
- 关于全局变量初始化与赋值问题的思考
- 关于C未初始化全局变量的连接问题
- C程序设计语言--缓冲、常见的问题和全局变量
- C程序设计语言--全局/局部变量、头文件、堆栈空间、静态变量
- c++全局变量初始化时间
- 有关QT中声明一个vector为全局变量的初始化问题
- LCC编译器的源程序分析(69)全局变量的初始化
- 全局变量的初始化顺序
- c语言全局变量的忠告 c语言存储类说明符
- c语言 全局(静态)和局部数组初始化
- LCC编译器的源程序分析(69)全局变量的初始化
- C++中全局变量的编译器初始化值
- C语言学习笔记----伊能C语言学习笔记-----全局变量