gpt4 book ai didi

c - 在 C 中创建变量的宏

转载 作者:太空狗 更新时间:2023-10-29 15:49:02 26 4
gpt4 key购买 nike

我想创建几个形式的变量:

static char fooObjectKey;
static char bazObjectKey;
static char wthObjectKey;
static char myObjectObjectKey;
...

所以我写了

#define defineVar(x) static char #x ObjectKey

defineVar(foo);
defineVar(baz);
defineVar(wth);
defineVar(myObject);

但我收到错误:Expected identifier or

我在这里做错了什么? :)感谢任何帮助

最佳答案

你需要连接它们:

#define defineVar(x) static char x##ObjectKey

解释:

预处理器运算符## 提供了一种在宏扩展期间连接实际参数的方法。如果替换文本中的参数与## 相邻,则该参数被实际参数替换,## 和周围的空格被删除,并重新扫描结果。例如,宏 paste 连接它的两个参数:

#define paste(front, back) 前面## 后面

因此 paste(name, 1) 创建 token name1

关于c - 在 C 中创建变量的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14039114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com