永发信息网

单片机中的宏定义

答案:3  悬赏:80  手机版
解决时间 2021-03-01 08:37
在avr单片机中宏定义:
#define MAX 32768//无报警
#define MAX 16384*2//警告:integer overflow in expression
疑惑:同一个数:用表达式就会报警,直接写数就不报警?
最佳答案
我试过ATmega16的可以通过(codevisionavr环境)、看你现在用哪款AVR单片机,你这里是乘法乘的过程出现了溢出
全部回答
怎么可能呢
跟单片机没关系,这是c语言的东西 ------------- #是c语言里的预处理命令,编译器在编译代码之前,会预先处理这部分内容,#define 就是宏定义,对于 #define 的内容是怎样处理的呢?看下面的代码 #define max 128 void main() { int max=max; } 编译器处理时,会直接把 int max=max;替换成 int max=128; 注意,是文本替换,而不是变量赋值,程序中自始至终都不存在max这个变量,相当于是用“查找-替换”功能一样,查找 max ,替换成 128 。 如果程序中有多个地方要用到同一个值、代码块,我们都可以定义成一个宏,如果这些值或代码块要改动,只需改下宏定义就行了,不用从代码中一处一处的改,很方便,而且不会因为漏掉某个地方而导致程序出错。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么在朋友圈只发文字又可以显示地理位置?
慈济寺我想知道这个在什么地方
再生障碍性贫血孕产妇多死于A.颅内出血B.慢性
卜算子·送鲍浩然之浙东 上下片各写了什么,
GD权志龙和水原希子为什么分手 权志龙现任女
漫威漫画中复仇者联盟都有哪些成员?
化州市石湾街道委员会地址在哪,我要去那里办
下列氨基酸中,不是组成蛋白质的氨基酸是A. B
90男和90年女的婚姻如何
即将去旅游的心情
我想开一家美瞳实体店,但是没有进货渠道,有
图度侵删什么意思
长春裁纸机在什么地方啊,我要过去处理事情
主要写了什么______________
荣海邮政所在什么地方啊,我要过去处理事情
推荐资讯
走字旁加委念什么
描写花草树木的成语
爷爷今年70岁,小娟今年10岁,(1)后年爷爷的
坦克世界怎么加入军团?三点要求:具体、准确
请问,往1D装备里放1个力量宝石和2个力量宝石
格成优品这个地址在什么地方,我要处理点事
启德保健品店地址有知道的么?有点事想过去
阴阳师自抽号怎么防封
亚马逊 Kindle 系列产品有专门的网上电子书库
苏泊尔C21S06电磁炉电源启动后,各开关操作正
原叶硅藻泥朝阳旗舰店这个地址在什么地方,我
知恩不图报是什么意思?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?