#define后接{}的用法_#define 变量后加大括号-程序员宅基地

技术标签: #define  语法  

在学校做比赛,查找寻迹小车的资料,看到了一篇51开发的小车文章,那个博主的程序中写到

  1. #define left_go {Left_Motor_P1 = 1;Left_Motor_P2 = 0;}  
  2. #define left_back {Left_Motor_P1 = 0;Left_Motor_P2 = 1;}  
  3. #define left_stop {Left_Motor_P1 = 1;Left_Motor_P2 = 1;}  
  4.   
  5. #define right_go {Right_Motor_P1 = 1;Right_Motor_P2 = 0;}  
  6. #define right_back {Right_Motor_P1 = 0;Right_Motor_P2 = 1;}  
  7. #define right_stop {Right_Motor_P1 = 1;Right_Motor_P2 = 1;}  

就很好奇,为什么#define可以有{}

当时脑子比较笨,总在查为什么会有大括号,多方查找之下终于找到了突破口《C语言中#define用法总结》

典型的使用方法:
使用宏定义我们可以自己根据自己的习惯来定义甚至改变C语言的语法习惯,例如:
#define BEGIN {
#define END }
int main()BEGIN
printf ("DEFINE----\n");
END
定义一个循环
#define LOOP for(;;)
重新定义数据类型
#define IT int

4.define的多行定义
define可以替代多行的代码,在每一个换行的时候加上一个"\"
#define MAX(X,Y) do { \
语句1; \
语句2; \
/* 注释的写法 */ \
} while(0) /* (no trailing ; ) */ \

然后看懂了,是定义了一段赋值的语句

寻迹小车开发日记》:https://blog.csdn.net/m0_37655357/article/details/78657918

C语言中#define用法总结》http://blog.chinaunix.net/uid-17188120-id-4026378.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_37770662/article/details/80168305

智能推荐

tf.reduce_sum()方法深度解析-程序员宅基地

文章浏览阅读2k次,点赞6次,收藏5次。tf.reduce_sum()函数深度解析从矩阵,数组,数据存储的角度 解析axis参数的意义_tf.reduce_sum

adb获取app包名的方法_adb获取包名-程序员宅基地

文章浏览阅读9.8k次,点赞4次,收藏29次。adb获取app包名的方法_adb获取包名

虾皮、lazada店铺运营攻略,如何搭建高效、稳定的自养号测评系统-程序员宅基地

文章浏览阅读913次,点赞16次,收藏10次。总之,要做好虾皮店铺,不仅需要明确的定位和优质的产品,还需要精心的运营和持续的改进。通过不断优化店铺形象、制定有效的营销策略、提供优质的客户服务以及加强供应链管理等手段,您将能够在激烈的竞争中脱颖而出,实现店铺的长足发展。1.稳定的网络环境是基石,它需要经过技术手段的洗礼,将电脑或手机的底层硬件参数伪装成国外数据,以躲避平台通过IP进行的深度检测。这种真实性高的评价能够帮助商家获得更多的信任和认可,从而提升产品的排名和流量的分配。您可以关注行业动态,学习先进的经营理念和技术,以提高店铺的运营水平。

统计检验问题:Friedman Test,Nemenyi test检验和Bonferroni-Dunn test检验_统计测试 cd diagrams-程序员宅基地

文章浏览阅读5k次,点赞11次,收藏43次。统计检验_统计测试 cd diagrams

三、购物车案例_17(笔记)_购物车案例请求数据地址-程序员宅基地

文章浏览阅读332次。购物车_购物车案例请求数据地址

在unity中DOTween 使用方法_tween number-程序员宅基地

文章浏览阅读603次。DOTween 使用方法_tween number

随便推点

【合集】常见中间件漏洞_hrs中间件-程序员宅基地

文章浏览阅读2.9k次,点赞3次,收藏37次。1. IIS1. PUT漏洞用户配置不当,exp:https://github.com/hackping/HTTPMLScan.git2. 短文件名猜解IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。exp:https://github.com/WebBreacher/tilde_enum3.远程代码执行(CVE-2017-7269))**exp**:https://github.com/zcgonv_hrs中间件

db2基本概念-程序员宅基地

文章浏览阅读368次。DB2支持以下两种类型的表空间: 1、 系统管理存储器表空间(SMS-SYSTEM MANAGED STORAGE) 2、 数据库管理存储器表空间(DMS-DATABASE MANAGED STORAGE) SMS、DMS用户表空间的特性对照 特性 ..._db2

模拟window桌面实现-程序员宅基地

文章浏览阅读84次。正在开发中的游戏有个全屏功能--可以在window桌面背景上运行,就像一些视频播放器在桌面背景上播放一样的,花了个上午整了个Demo放出来留个纪念。实现功能:显示图标,双击图标执行相应的程序,右击图标弹出该图标对应得菜单,点击非图标区则弹出桌面菜单。需要完整工程可以点此下载:DesktopWindow.rar。程序效果图如下:在这个程序里,定义了一个XShellItem..._模拟实现windows桌面效果

https://www.byhy.net/tut/webdev/django/01/-程序员宅基地

文章浏览阅读944次。https://www.byhy.net/tut/webdev/django/01/_byhy.net

vue玩转移动端H5微信支付和支付宝支付_移动端支付宝微信支付vue项目怎么写-程序员宅基地

文章浏览阅读5.8k次,点赞13次,收藏57次。业务场景介绍:H5移动端支持微信支付 [ 微信支付分为微信内支付(JSAPI支付官方API)和微信外支付(H5支付官方API)] && 支付宝支付 [手机网站支付转 APP 支付 官方API ]订单生成逻辑:前端请求后端提交订单,后端去和微信或者支付宝对接生成订单(后续支付都是这个逻辑进行的对接)一、移动端微信支付,vue中如何玩?在移动端微信支付分为微信内支付和微信外支付。1.在订单组件中选择支付方式之后在支付页面先去判断是否是在微信内://判断是否微信 is__移动端支付宝微信支付vue项目怎么写

深度学习AI编译器-TVM简介_tvm编译器-程序员宅基地

文章浏览阅读2k次,点赞5次,收藏9次。深度学习编译器主要为解决不同框架下训练的模型部署到指定的某些设备上时所遇到的一系列复杂的问题,即将各种深度学习训练框架的模型部署到各种硬件所面临的问题;_tvm编译器

推荐文章

热门文章

相关标签