设为首页 加入收藏

TOP

9.2.3 静态持续变量(2)
2013-10-07 15:42:09 来源: 作者: 【 】 浏览:84
Tags:9.2.3 静态 持续 变量

9.2.3  静态持续变量(2)

那么初始化形式由什么因素决定呢?首先,所有静态变量都被零初始化,而不管程序员是否显式地初始化了它。接下来,如果使用常量表达式初始化了变量,且编译器仅根据文件内容(包括被包含的头文件)就可计算表达式,编译器将执行常量表达式初始化。必要时,编译器将执行简单计算。如果没有足够的信息,变量将被动态初始化。请看下面的代码:

 

首先,x、y、z和pi被零初始化。然后,编译器计算常量表达式,并将y和z分别初始化为5和169。但要初始化pi,必须调用函数atan(),这需要等到该函数被链接且程序执行时。

常量表达式并非只能是使用字面常量的算术表达式。例如,它还可使用sizeof运算符:

 
C++(www.cppentry.com)11新增了关键字constexpr,这增加了创建常量表达式的方式。但本书不会更详细地介绍C++(www.cppentry.com)11新增的这项新功能。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇9.2.1 作用域和链接 下一篇9.2.3 静态持续变量(1)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·C语言中如何将结构体 (2025-12-24 22:20:09)
·纯C语言结构体成员变 (2025-12-24 22:20:06)
·C语言中,指针函数和 (2025-12-24 22:20:03)
·哈希表 - 菜鸟教程 (2025-12-24 20:18:55)
·MySQL存储引擎InnoDB (2025-12-24 20:18:53)