C语言中的#与##

#符号把一个符号直接转换为字符串,例如:
#define STRING(x) #x
const char *str = STRING( test_string ); str的内容就是"test_string",也就是说#会把其后的符号
直接加上双引号。
##符号会连接两个符号,从而产生新的符号(词法层次),例如:
#define SIGN( x ) x##1
int SIGN( 1 ); 宏被展开后将成为:x1
[参考链接]((71条消息) (转)C/C++ 宏详解_猫已经找不回了的博客-CSDN博客)

posted @ 2023-03-10 10:12  心比天高xzh  阅读(72)  评论(0)    收藏  举报