为了账号安全,请及时绑定邮箱和手机立即绑定
首页 手记 【九月打卡】第16天 物联网/嵌入式工程师学习笔记16

【九月打卡】第16天 物联网/嵌入式工程师学习笔记16

2022.09.20 22:37 34浏览

【九月打卡】第16天 物联网/嵌入式工程师学习笔记16

课程信息

课程内容概述

1. 宏定义

格式: #define 宏名 常量
功能:宏名代替常量,做到见名知意

#define MAX 100
说明:
(1)表示MAX这个符号标识的值是100
(2)编译器会将宏替换成宏后面的内容

2. 宏函数

2.1 概述

#define 宏函数名(参数1,参数2) 表达式
特点:宏都是原样替换

2.2 小技巧

嵌入式开发常用宏操作 do…while(0)

常用于宏函数体语句块不止一条,或者其中嵌入别的逻辑的,弃核形就是提供一对 { }

注:宏定义种do…while的while后面不能加;

3. 字符串化运算符#

#我们常称为字符串化运算符,因为它会把宏调用时的实参转换为字符串。

示例:
#define FUN(x) printf(#x “= %d\n”,x)

FUN(4 + 2)

输出结果: 4 + 2 = 6

4. 不定参数宏

C99标准中规定允许用户定义有省略号的宏,省略号必须放在参数列表的后面,以表示可选参数。
你可以用可选参数来调用这类宏。在代码中用…代表。他们被保存到__VA_ARGS__中.

VA_ARGS_ : 用于在宏替换部分中,表示可变参数列表;

学习心得

C语言中的宏很长用,本节对他的常用及非常用的方式都有了进一步的了解。

他有一个特点,就是原样替换。

课程截图

1. 宏函数的代码演示

图片描述

2. 宏字符串中的#的代码演示

图片描述

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
手记
粉丝
5
获赞与收藏
38

关注TA,一起探索更多经验知识

同主题相似文章浏览排行榜

风间影月说签约讲师

50篇手记,涉及Java、MySQL、Redis、Spring等方向

进入讨论

Tony Bai 说签约讲师

145篇手记,涉及Go、C、Java、Python等方向

进入讨论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消