首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

#define 与const 的区别

#define是定义一个宏替代,在编译时直接用所定义的内容替代被定义的宏;而const是定义一个常量,要在芯片存储空间占据相应的位置,程序运行时再调用其值。
海纳百川  有容乃大
它们是不一样的。用宏定义的常量是要直接替换到程序中去的,所以每用到一次,就要替换一次。如果这个常量比较大,而且又多次使用,就会占用很大的程序空间。而const定义的常量是放在一个固定地址上的,每次使用时只调用其地址即可。另外,const虽然也是放在程序空间里的,但一般放在FLASH里,通过某些方式是可以改变其内容的,所以具有更大的灵活性。
海纳百川  有容乃大
返回列表