#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

智能推荐

【渝粤教育】广东开放大学 现代企业管理 形成性考核 (51)_下列说法错误的是 选择一项: a. 定量订货方式适合于品种数目少但占用资金大的b类-程序员宅基地

文章浏览阅读7.2k次。选择题题目:技术装备程度低、用人多、产品成本中活劳动消耗比重大的企业,属于() 企业。题目:市场渗透战略是由企业现有产品和( )结合而成的战略.题目:某牙膏厂原来只生产两面针药物牙膏,现在又增加牙刷生产,这属于( )。题目:在波士顿矩阵法中,( )类象限是指那些相对市场占有率较高和市场增长率较低的经营单位题目:以下哪种不是宏观环境分析考虑的因素( )题目:在《竞争战略》一书中提出了著名的五种竞争力量模型.题目:事业部制的缺点是与统一指挥原则相矛盾,容易产生职责不清的现象_下列说法错误的是 选择一项: a. 定量订货方式适合于品种数目少但占用资金大的b类

C/C++中CRT_c++ crt-程序员宅基地

文章浏览阅读4.1k次,点赞5次,收藏15次。本文转载自http://blog.sina.com.cn/s/blog_149e9d2ec0102wyvq.htmlCRT原先是指Microsoft开发的C Runtime Library,用于操作系统的开发及运行。后来在此基础上开发了C++ Runtime Library,所以现在CRT是指Microsoft开发的C/C++ Runtime Library。在VC的CRT/SRC目录下,可以..._c++ crt

C语言作业(四)-程序员宅基地

文章浏览阅读70次。【代码】C语言作业(四)

JavaScript语法高亮库highlight.js使用_语法高亮js css文件-程序员宅基地

文章浏览阅读9.9k次。highlight.js是一款基于JavaScript的语法高亮库,目前支持125种编程语言,有63种可供选择的样式,而且能够做到语言自动识别,和目前主流的JS框架都能兼容,可以混合使用。这款高亮库可以用在博客系统中,其使用方法及其简单,几乎不需要任何学习成本,下面介绍highlight.js的使用。1.获取highlight.js库,用户可以从官网获取:地址:https://highlightjs_语法高亮js css文件

【笔记】strftime的使用方法-程序员宅基地

文章浏览阅读5.1k次。strftimestrftime是C语言标准库中用来格式化输出时间的的函数。下面是strftime的用法各参数意义代码使用示例#include<stdio.h>#include<time.h>#define print(s1, s2,s3) \ printf("%-20s%-30s%s\n",s1, s2,s3);int main(){ time_t rawtime; struct tm* timeinfo; char timE[80]; /

2018.09.12 poj3621Sightseeing Cows(01分数规划+spfa判环)-程序员宅基地

文章浏览阅读147次。传送门 01分数规划板题啊。 发现就是一个最优比率环。 这个直接二分+spfa判负环就行了。 代码:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;algorithm&gt;#include&lt;cmath&gt;#define N 1005#define...

随便推点

c#语言开发app,C#开发Android App--03--创建第一个app--Hello World-程序员宅基地

文章浏览阅读9.3k次,点赞8次,收藏39次。知识点:第一个app,显示Helloworld一、创建一个空项目创建项目启动 Visual Studio。单击“文件”>“新建”>“项目”以创建新项目 。在“新建项目” 对话框中,单击“Android 应用” 模板。将新项目命名为Hello(Phoneword是微软示例,本人太懒,不改了),然后单击“确定” : 在“新 Android 应用” 对话框中,依次单击“BlankA..._c#开发app

探索Camera2Demo:一款深入理解Android Camera2 API的开源示例项目-程序员宅基地

文章浏览阅读267次,点赞5次,收藏9次。探索Camera2Demo:一款深入理解Android Camera2 API的开源示例项目项目地址:https://gitcode.com/wangshengyang1996/Camera2Demo项目简介Camera2Demo 是一个由wangshengyang1996开发并维护的Android应用示例,旨在帮助开发者更好地理解和使用Android的Camera2 API。该项目通过提供..._android camera2 demo

iOS10 适配、Xcode8配置总结①-程序员宅基地

文章浏览阅读121次。2019独角兽企业重金招聘Python工程师标准>>> ...

微信API证书过期,获取API证书_微信 apiv3证书 过期-程序员宅基地

文章浏览阅读10w+次。在做微信如:(退款、企业红包、企业付款)提现这些操作的时候,微信返回(具体哪个字段我忘记了)的信息是:证书过期,那么就需要重新获取证书,证书的获取前提条件:1:你需要有微信商户平台的商户号(类似电话号码的数字),和商户名称(比如公司名称)2:按照官方说明文档进行相应操作即可(按照这个做就行了)http://kf.qq.com/faq/161222NneAJf161222U7fARv.h..._微信 apiv3证书 过期

雷达探测项目仿真代码(Matlab代码实现)_探地雷达成像matlab-程序员宅基地

文章浏览阅读2.2k次。雷达探测是电磁威慑的重要组成。国外发达国家正从体系、平台、频段、架构、硬件、处理等方面开发新一代雷达技术。针对高超声速目标、弹道导弹、无人集群目标、隐身飞机等新型极高速、极隐身、极庞大目标,将以网络为基础,整合各类探测手段,实现对目标的全球预警、全程连续跟踪、全维协同精确打击,形成全域全时全维的体系化探测感知能力。对深空目标、临空目标、隐身目标、集群目标的探测研究新型威胁目标是驱动雷达探测技术前进的原动力之一,而新时期的新型威胁目标呈现“高、低、快、慢、小、隐、群”等特征。_探地雷达成像matlab

kali 安装取证工具volatility_kali安装volatility-程序员宅基地

文章浏览阅读3.1k次,点赞2次,收藏12次。计算机取证 volatility_kali安装volatility

推荐文章

热门文章

相关标签