宏:
#define TESTMACRO(name, exc) void* jt_name[exc];int jtix_name = 0;
例子:
TESTMACRO(testname, 2)
翻译成
void* jt_name[2];int jtix_name = 0;
我怎样才能让它说 jt_testname 呢?
我尝试在名称前使用井号标签 (#),但这并没有达到我想要的效果。不能使用空格,因为它是中间变量名。
最佳答案
尝试连接运算符 (##):
#define TESTMACRO(name, exc) void* jt_ ## name[exc];int jtix_ ## name = 0;
关于c - 变量名中间的宏参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38217734/