【每日一C之十】const与define区别
2014-04-02 21:52
246 查看
每日一C之const与define区别
每天拾一个C语言贝壳,厚积薄发,积跬步以致千里。今日贝壳:不得不提,设立const关键字的目的:取代define,消除define缺点的同时继承其优点。
定义常量而言的区别:
1.作用层次不同:
define作用在文本层次,在预处理阶段单纯在文本上的替换。
const 作用在语法层次,在编译阶段处理const修饰的变量。
2.类型检查:
作用层次的差异决定:define不可能有类型检查,事实上几乎没有任何检查
const则有类型检查,这是const安全性的表现
3.存储方式:
define是简单的替换,通常不存在分配内存空间的问题。
const:局部变量运行时分配在栈区,全局变量则编译时分配在静态区。
4.作用域:
const局部常量作用域仅在函数内。
define常量的作用域,为定义点到函数结束。
Have
a nice day !
相关文章推荐
- const和define区别 static
- php中global,const和define的区别
- php中const与define的使用区别
- const常量与define宏定义的区别
- PHP中常量以及const与define的区别
- const常量与define宏定义的区别
- PHP定义常量时const关键字和define()函数的区别
- const与define的区别
- const与define区别
- 嵌入式培训干货分享:C++中const 和 define 的区别
- 请教define,const,typedef,inline的区别
- php中define和const 的区别
- const 与 define的区别
- 论define,const,enum三者的区别
- PHP中const与define的区别
- 面试问题5:const 与 define 宏定义之间的区别
- Mohican_18/3/7 C语言—回顾数组 const和define的区别
- PHP:const和define的区别
- php中const与define的区别
- (54)const与define的特点和区别