[C语言] 关于宏定义的范围

[复制链接]
1874|5
 楼主| dianzilc 发表于 2015-11-22 10:28 | 显示全部楼层 |阅读模式
小弟问个比较基础的问题,在单片机中对数字进行宏定义时数字的范围是多少?是65536还是多少?是否和单片机的编译环境有关?希望知道的前辈们指点一下,谢谢!
ccxlslr 发表于 2015-11-22 14:51 | 显示全部楼层
宏只是替换,与数值没关系,他本身也不是数值。只要语法允许,你写什么都可以。
ayb_ice 发表于 2015-11-22 16:22 | 显示全部楼层
怕数据溢出就写成
100L
100UL
erhuo520 发表于 2015-11-23 16:44 | 显示全部楼层
跟编译器单片机都有关吧,
比如int:不同的编译器int的长度不同,各种数据类型的长度也不一定相通
具体编写一个程序输出各种类型占用字节数就知道了
printf("int %d\n",sizeof(int));
hbzjt2011 发表于 2015-11-23 16:47 | 显示全部楼层
跟你要替换的变量存储类型有关
coody 发表于 2015-11-23 21:35 | 显示全部楼层
宏仅仅是字符串替换,你写个20位(十进制)的数字也可以,关键是你用来干什么,比如给什么变量赋值。
你也可以宏定义浮点数,就可以很大了。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

93

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部