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

来源:互联网 发布:淘宝网t恤 编辑:程序博客网 时间:2024/05/31 00:39
存储类型 关键字  生命周期 定义位置 作用域 初始值  引用 何时使用  动态变量 无(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
 

原创粉丝点击