C语言学习第十二讲-变量作用域
2007-08-29 08:44
302 查看
存储类型 | 关键字 | 生命周期 | 定义位置 | 作用域 | 初始值 | 引用 | 何时使用 |
动态变量 | 无(auto) | 临时 | 函数内 | 局部 | 任意,所以要初始化 | ||
静态变量 | static | 临时 | 函数内 | 局部 | 任意,所以要初始化 | 保持局部变量的值 | |
寄存器变量 | register | 临时 | 函数内 | 局部 | 任意,所以要初始化 | 量小且频繁 | |
外部变量 | 无 | 永久 | 函数外 | 全局(一个文件) | 初始值为0 | 函数中引用外部变量,用extern声明 | 大部分函数需要这个变量 |
静态外部变量 | static | 永久 | 函数外 | 全局(所有文件) | 初始值为0 |
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
相关文章推荐
- 嵌入式学习10(C语言五大内存区间,变量的作用域和生存期,变量的存储类型)
- iOS开发学习笔记 2-6 C语言部分 函数及变量的作用域
- C语言学习4: 函数返回值与传入参数,关于函数值传递和类型隐性转换,变量不同的作用域,static变量,多文件编译例如两个C文件,显示函数调用语句跳转,递归,斐波那契数列,多文件编译相同变量的问题。
- C语言学习笔记【函数】函数调用与变量的作用域
- 黑马程序员——IOS学习笔记(C语言存储方式和变量作用域)
- 黑马程序员---Objective-C基础学习---点方法使用和成员变量的作用域
- 黑马程序员之--C语言学习笔记之变量、常量和注释
- JS 学习笔记--9---变量-作用域-内存相关
- C语言学习之变量
- OC学习那些事:self、自动释放、变量作用域
- C语言学习-进制转换、变量
- 黑马程序员-OC学习笔记-点方法、成员变量作用域以及set方法和get方法@property的综合题
- C语言的变量的作用域和生存期
- 【C语言的学习】第十二回合:指针知识大集合
- C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型 分类: 嵌入式开发学习 2014-11-28 10:42 233人阅读 评论(0) 收藏
- 【学习笔记】【C语言】变量的内存分析
- C语言 变量的作用域和生命周期
- C语言学习笔记1--符号常量、变量、运算
- C语言提高班学习笔记 lesson5 变量、指针
- OC学习 点语法实质 与 变量作用域