温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

宏定义中的“#”与“##”

发布时间:2020-04-06 00:27:24 来源:网络 阅读:463 作者:Lee_1985 栏目:编程语言

宏定义在C/C++中使用的非常多,一方面定义一些常量,另一方面定义一些通用函数,但是有些宏定义实现较为复杂,尤其是很多带#或##的宏定义,令很多人读起来很不解,下面就简单介绍一下宏定义中的#和##。

  1. 宏定义里面有个##表示把字符串联在一起。如:
#include <stdio.h> #define CAT(x,y) x##y int main() { char helloworld[] = "hi, hello world!"; printf("%s", CAT(hello, world)); return 0; }
  1. 宏定义中的#表示将其变为字符串。如:
#include <stdio.h> #include<string.h> #define STRCPY(a, b) strcpy(a ##_p, #b) int main() { char arrr_p[]="abcdefg"; char *bb = "123456"; STRCPY(arrr, bb); printf("%s\n",arrr_p); return 0; }
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI