问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中常量定义和宏定义有什么区别?27

发布网友 发布时间:2023-10-29 02:20

我来回答

3个回答

热心网友 时间:2024-03-03 21:35

区别大了个去了.

宏定义是预处理命令.

#defien A 3
执行后, 预处理器把会正文所有全字匹配的A, 全部替换为3,

那么, 最后的代码进入编译器的代码,

1 + A, 是变成1 + 3的.

而const int a = 3;
这个是不在预处理器的管理范围之内 ,这个就是编译器的工作了, 有些编译器不会为它分配空间, 直接把它加入符号表中, 也就是说, 常量不再是0123456789这10个数, 而是0123456789a这11个数, 那么a就是被定义成3了, 所以符号表里的内容是01234567893.

而有些 编译器会为它分配空间.

你不知道它们的区别, 说明你学宏的时候, 并不知道宏的原理.

热心网友 时间:2024-03-03 21:36

符号常量 #define Pi 3.1415926f;

常值变量 const float pi 3.1415926f;

网页链接

热心网友 时间:2024-03-03 21:36

宏定义 是编译前的预处理。
#define a 3 是在程序正式编译前,做 token a 的字符串替代,凡 token a 都用 3替代, 替代完了再开始编译。

const int a = 3; 是 变量声明和初始化。只是强调了 a 是 常量,不能用来做 “左值”,即,数值不能改变。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
!这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 蘑菇和虾油白菜菠菜能一起炒吗? 从广珠城轨容桂站到均安生态乐园怎么坐公交车,最快 天津公积金贷款网上怎么预约4 歌词是,隐隐做痛,你给的痛,我不想说太多,后面不记得了,谁能告诉我这... 北京市朝阳区十八里店吕营村今天下午解封了吗?1 化学沉淀的溶解平衡常数的数量级怎么看。为什么10^-9.5=...3 河北固安县吕家营村解封没有? 删除页眉页脚怎么删 秦汉于罗马艺术的差异5 瑾途矿脉老板是谁 天津公积金贷款网上怎么预约4 “C语言的宏定义”是什么? 请问一下,宏定义那个什么意思啊, 在c语言中什么叫宏定义的常量11 什么是宏定义?287 ...进行一个综合性的项目后评估,评估的内容一般包括 ()。 女主叫柳向晚,男主叫萧远的穿越小说 医学类自考的专业有哪些?53 lg衣物护理机可以加香精吗 索尼dsc_hx9与索尼哪一款更好 天津市如何办理公积金贷款5 关于在天津使用住房公积金贷款的问题3 principal research scientist 是...3 我家音箱放大声了,下面的皮就抖的很厉害而且有抖着的声音1 【联东u谷soho城】小区配套幼儿园绿化怎么样? 天津市如何办理公积金贷款5 改错了未满一年怎么改回来 改错了未满一年怎么改回来 研究的三种类型,急! 修改没到一年怎么改? 农村医疗,参保人和单位怎么是父亲名字 天津 公积金贷款 都怎么个程序啊?去哪个银行啊? 一年内怎么改第二次 《名侦探柯南》中服部平次对茱蒂说的那句英语是在漫画哪一集里?3 为什么音响放的歌总是有颤抖的音3 自己第一次diy的音箱,为什么喇叭一阵一阵抖动 谨途是什么档次的珠宝 淘宝账号是我自己的,支付宝账号是我老公的,这样可以使用支付宝... 求一个动画短片,男女主角的住在同一个房子中,但上下颠倒。1 名侦探柯南中英文老师VS关西名侦探茱蒂老师喝的是什么酒?还有...44