C语言中#define宏定义和变量定义的联系和区别

 我来答
帐号已注销
推荐于2017-09-14 · TA获得超过463个赞
知道小有建树答主
回答量:598
采纳率:65%
帮助的人:278万
展开全部
没有联系,至于区别,也就谈不上
宏定义是在编译阶段进行宏替换,说白了就是个记号,而这些记号对应着需要替换的代码,就是个方便编程的工具,没有也行。当然宏定义涉及变量,常量,语句,功能强大,不必多说。
而变量嘛,就是在内存或者寄存器里面,保存数据的容器,再详细一点,就是某个实际存在的数据的符号地址,也就说,变量名的实际上是一些地址,为了便于编程才会有“名字”的。当然也不是说,变量名是指针,指针也是一种变量。
所以,毫无关系。
靖哥说剧吖
2012-01-05
知道答主
回答量:18
采纳率:0%
帮助的人:8.2万
展开全部
#define宏定义的量是做常量处理的,如#define price 30,下文只要遇到price就代表常量30,他与变量的区别之一是在书出语句中printf(“%d”,a)(a为变量),这是合法的;但如果出现printf(“%d”,price)这就是不合法的。另外宏语句在整个程序中有效,而变量只在某个函数内有效。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
duguxianhui
2012-01-09
知道答主
回答量:17
采纳率:0%
帮助的人:5.4万
展开全部
1.define宏定义是在程序运行中不可以改变的,变量可以改变
2.变量在他所定义的函数内部可以用 出了这个函数 生命周期就结束了;而define实在定义的时候就开始就开始有效,知道程序运行完毕,生命周期结束。
define的优点就是修改方便
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
思思哇塞
2012-01-05
知道答主
回答量:22
采纳率:0%
帮助的人:9.5万
展开全部
#define和全局变量都定义在主涵数之上,但是在本文件中要想改变宏定义必须在定义中改在文件中相当于常量,而变量可以在文件中改变其值,而在开始也不用附初值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-01-06
展开全部
宏定义主要在预处理阶段完成,由预处理器进行字符替换,变量定义则会在内存中为变量分配地址。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式