#define,const,static三种常量的区别
来源:互联网 发布:迷幻p图软件 编辑:程序博客网 时间:2024/06/05 10:48
#define,const,static三种常量的区别
定义常量常用的三种方法有:#define,const,static实际上还是有很大区别。
(1)#define是预定义定义常量,其实不是常量,因为,在程序中并没有给#define的字符量开辟变量空间。#define的用法是#define dd 100;在程序预编译的时候讲程序中的所有的dd改为100;没有类型。没有空间存放。所以在程序中是不可以改变的。为什么呢?因为根本找不到存储地址(本身就没有空间地址)。
(2)static:为什么要先讲static呢?因为static比const先出现。static是c语言时出现的。const是c++语言时出现的。const的目的是static的加强版本。为什么说是加强版本呢。这是因为作为一个常量的修饰符,static并不是完全意义上的常量修饰符。
居然可以改变,说好的是常量呢,为什么可以改变。这里使用的是vs2015编译。当然通过指针也可以修改。
(3)const:绝对的常量修饰符。不可修改。见下
果然c++更严谨,修改失败。我们尝试使用指针修改。如下
果然,不能修改,指针也不行。确实更严格。跟符合常量的定义。
综上所述,#define和const、static有本质的区别。const和static是严谨更严谨,严格更严格的区别。
阅读全文
0 0
- #define,const,static三种常量的区别
- 关键字static/const的作用 const常量与define宏定义的区别
- iOS Objecttive-C语言 定义常量的几种方式与区别 static const 定义常量 少用#define预处理指令 多用类型常量
- const常量与define 的区别
- define和const常量的区别
- #define和const定义常量的区别
- const, static, define 以及inline的区别
- static、const、extern和define的区别
- #define,const,typedef三者联系与区别 及 static和const的解释
- define宏常量与const常量的区别
- const常量和#define宏常量的区别
- #define宏常量和const常量的区别
- const和define区别 static
- define const enum 三者的区别
- define宏定义和const常量定义之间的区别
- 定义常量时const和define的区别
- define宏定义和const常量定义之间的区别
- define宏定义和const常量定义之间的区别
- kthread_run创建内核线程的原理
- Mybatis日期的判断
- 数据库_面试题1
- Java虚拟机并发编程(Java并发编程领域的里程碑之作,资深Java技术专家、并发编程专家、敏捷开发专家和Jolt大奖得主撰写
- 关于json的那些事
- #define,const,static三种常量的区别
- kthread_work和kthread_worker机制
- 多线程面试题【一】
- SpringMVC工作流程
- mysql操作(创建表,向表中添加数据)
- spring设置定时任务的两种实现
- 框架配置
- mysql优化
- eclispe spring 配置报错:Error occured processing XML 'org.springframework.beans.MutablePropertyValues.ge