原文:宏定义中#和##符号的使用和宏定义展开问题

程序如下: 答案:第一行: 第二行:f , 说明: 关于符号 和 两个符号都只能用于预处理宏扩展。不能在普通的源码中使用它们,只能在宏定义中使用。 简单的说, 是把宏参数变为一个字符串, 是把两个宏参数连接在一起。 关于宏展开 预处理过程的几个步骤: 字符集转换 如三联字符 断行链接 注释处理, comment ,被替换成空格 执行预处理命令,如 inlcude define pragma err ...

2017-03-23 08:55 0 1306 推荐指数:

查看详情

#define定义## #@ # \ 符号使用

C/C++ 宏命令的神奇用法。 先看下面三条语句: #define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) ...

Thu Apr 11 18:09:00 CST 2019 0 747
定义#和##的使用

1. # #的功能是将其后面的参数进行字符串化操作(Stringfication),简单说就是在对它所引用的变量通过替换后在其左右各加上一个双引号 那么实际使用中会出现下面所示的替换过程: 被替换为 这样每次divider(除数 ...

Wed Aug 06 00:57:00 CST 2014 0 6424
定义参数使用

1. 传递变长参数: 最近用C语言写一个程序,经常调用shell或者其他命令,代码多处出现如下代码: 每调用一次就是三行代码,看着也十分不爽。偶然间学会通过传递参数,代码瞬间简化很多: 2. 参数当做字符串使用 输出 ...

Sat Jul 06 19:49:00 CST 2019 0 416
定义 # 和 ## 的作用

单井号:将后面的 参数 进行字符串操作,即 将后面的参数用双引号引起来 双井号:就是用于连接 #include <stdio.h> #define COMMAND(NAME) {#NAME,NAME##_command} #define PRINT(NAME) printf ...

Tue Jan 16 01:43:00 CST 2018 0 1418
定义的#和##

代码的family_##who表示以family_为前缀,将who为后缀与前缀连接,合成一个名字 参数前面的#使用来取参数的实值,ADD(1,200)运行结果为201 ...

Sun Aug 25 00:38:00 CST 2019 0 1474
Makefile定义

实际上是gcc命令支持-D定义,相当于C的全局#define: gcc -D name gcc -D name=definition Makefile可以定义变量(和很像),但是是给make解释器用的,对所编译的文件完全没有作用 ...

Wed Aug 28 18:56:00 CST 2019 0 1373
定义#和##的用法

转载:https://blog.csdn.net/baidu_33850454/article/details/79363033 1. 前言 使用#把参数变为一个字符串,用##把两个参数贴合在一起. 2. 一般用法 #include<cstdio>#include< ...

Mon Jan 07 23:46:00 CST 2019 0 2512
QT定义

1、操作系统 作者:耑新新,发布于 博客园 转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com ...

Wed Mar 17 19:34:00 CST 2021 0 800
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM