您的位置:首页 > 编程语言 > C语言/C++

C语言学习第十二讲-变量作用域

2007-08-29 08:44 302 查看
存储类型 关键字生命周期定义位置作用域初始值引用何时使用
动态变量无(auto)临时函数内局部任意,所以要初始化
静态变量static临时函数内局部任意,所以要初始化保持局部变量的值
寄存器变量register临时函数内局部任意,所以要初始化量小且频繁
外部变量永久函数外全局(一个文件)初始值为0函数中引用外部变量,用extern声明大部分函数需要这个变量
静态外部变量static永久函数外全局(所有文件)初始值为0
const,define区别

C语言用 #define来定义常量(称为宏常量)。C++ 语言除了 #define外还可以用const来定义常量(称为const常量)。

const 与 #define的比较

C++ 语言可以用const来定义常量,也可以用 #define来定义常量。但是前者比后者有更多的优点:375269516

1. const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)。375269516

2. 有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。375269516

* 【规则5-2-1】在C++ 程序中只使用const常量而不使用宏常量,即const常量完全取代宏常量。
see as:http://www.w3sky.com/0/282.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐