const和define的区别

 我来答
翲燚
2017-08-27 · 知道合伙人软件行家
翲燚
知道合伙人软件行家
采纳数:436 获赞数:3030

向TA提问 私信TA
展开全部
const用于定义常量;而define用于定义宏,而宏也可以用于定义常量。都用于常量定义时,它们的区别有:
1、const生效于编译的阶段;define生效于预处理阶段。预处理在编译之前,预处理器将源代码中的宏统一替换为指定的字符。从语义上讲,const是声明一个不可修改的数据,而define则是在对源代码进行替换。
2、const定义的常量,在C语言中是存储在内存中、需要额外的内存空间的,只有C++才不会为其分配内存、而是将其储存在符号表中,使得它成为一个编译期间的常量;define定义的常量,运行时是直接的操作数,并不会存放在内存中。
3、const定义的常量是带类型的;define定义的常量不带类型。因此define定义的常量不利于类型检查。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式