宏定义在C/C++中使用的非常多,一方面定义一些常量,另一方面定义一些通用函数,但是有些宏定义实现较为复杂,尤其是很多带#或##的宏定义,令很多人读起来很不解,下面就简单介绍一下宏定义中的#和##。
#include <stdio.h>
#define CAT(x,y) x##y
int main()
{
char helloworld[] = "hi, hello world!";
printf("%s", CAT(hello, world));
return 0;
}
#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;
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。