宏定义在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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。