CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

C语言#define的妙用-免费源码丞旭猿

在 C/C++ 编程语言中,当程序被编译时,被发送到编译器,编译器将程序转换为机器语言,然后完成编译并执行该程序。预处理器也称为宏预处理器。C /C++中的宏可以定义为一组程序语句,并在必须使用这些代码集时使用该名称。

这些宏始终以符号开头,以该符号开头的语句由编译器调用。

define 奇妙用法

  • 特殊符号:,,@

该宏还可用于传递可以通过在标记前使用特殊符号将其转换为字符串的标记。让我们看一

include 

在上面的代码中,我们定义了类似函数的宏,其中参数n与n一起传递,这将允许您检索字符串文字。

该宏还支持将可以传递给宏以使用特殊运算符连接字符串。让我们看一个例子:

include 

上面的代码定义了类似函数的宏,其中传递令牌以连接p和q两个值。

下面我们接着看看@使用。

include 

在上面的代码中,我们定义了类似函数的宏,s 表示用双引号包括参数s,返回一个字符串。

  • 多行宏

类似对象的宏可以有多行。因此,要创建多行宏,您必须使用反斜杠换行符。

include 

宏也可以写成多行,语句以\开头,不需要以\结尾。让我们再看一个例子:

include 
  • 可变参数宏

可变参数宏是具有可变数量参数的宏(也可以用 C 编写可变参数函数)。下面是一个例子:

include 

简单来说,…表示所有剩下的参数,__VA_ARGS__被宏定义中的…参数所替换。这在c语言的GNU扩展语法里是一个特殊规则:当__VA_ARGS__为空时,会消除前面这个逗号。

【学习交流群】不知道怎么学?遇到问题没人问?到处找资料?邀请你加入我的嵌入式物联网单片机学习交流群,群内气氛活跃,大咖小白、在职、学生都有,还有群友整理收集的100G教程资料,点击下方进群占位。(点击跳转到群二维码,请放心点击!)

  • 条件编译
include

如果我们要输出DEBUG版本,则打开这个宏开关(不屏蔽define debugPrintf ),此时所有的debugPrintf ()宏定义信息都会被替换成为printf()。

总结

宏是程序中由宏的值替换的一段代码。宏由define 指令定义。每当编译器遇到宏名称时,它就会用宏的定义替换名称。宏定义不需要以分号;结束。

原文链接:C语言define的妙用转载自:ARM与嵌入式版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

声明:本文部分素材转载自互联网,如有侵权立即删除 。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容