您的位置:首页 > 职场人生

【每日一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 !
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息