找回密码
 立即注册

QQ登录

只需一步,快速开始

工控课堂 首页 工控文库 上位机编程 查看内容

C/C++ define宏定义中特殊操作符的用法

2022-4-17 17:58| 发布者: 198366809| 查看: 921| 评论: 0|来自: 算法集市(头条)

摘要: C/C++ define宏定义中特殊操作符的用法原创2022-01-08 21:05·算法集市C/C++通过 #define 命令定义一个宏,即用一个标识符来标识一个字符串,也称为“宏”。#define HELLO 666这样HELLO就是定义为666,所有用到HELLO ...

C/C++ define宏定义中特殊操作符的用法

C/C++ define宏定义中特殊操作符的用法

C/C++通过 #define 命令定义一个宏,即用一个标识符来标识一个字符串,也称为“宏”。

#define HELLO 666

这样HELLO就是定义为666,所有用到HELLO的地方,在预处理时都会被替换为666。

使用 define 定义宏的基本用法见:C语言用#define定义宏的用法

这里主要介绍下宏定义中的特殊操作符,包括:#、##、... 和 __VA_ARGS__。

1、字符串化操作符 #

当需要把宏的参数 x 转换为字符串时,使用 #x 可以把参数名 x 转换成相应的字符串,该过程称为字符串化。

C/C++ define宏定义中特殊操作符的用法

2、标记粘贴操作符 ##

标记粘贴运算符(##)可以合并宏中的两个标识符,即把宏定义中两个独立的标识符合并为一个标识符。

C/C++ define宏定义中特殊操作符的用法

3、可变参数宏 ... 和 __VA_ARGS__

__VA_ARGS__ 是一个可变参数宏,与省略号 ... 配合使用,用来替换省略号所代表的字符串。

C/C++ define宏定义中特殊操作符的用法

需要注意的是,省略号 ... 只能放在宏参数列表中的末尾。

在实际应用中,上面几个特殊操作符经常用于日志的分级处理,还有下面几个宏:

  • __FILE__:当前源文件名称;
  • __LINE__:当前行号;
  • __FUNCTION__:当前函数名称。
C/C++ define宏定义中特殊操作符的用法


关注公众号,加入500人微信群,下载100G免费资料!

最新评论

热门文章
关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-23 00:21 , Processed in 0.345592 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部