我发现了一些关于 How do I #define multiple values C / C++ 的相关问题。但这不是我想要的。相反,我想做相反的事情。
我们可以简单地分配这样的东西
int a,b,c,d,e;
a = b = c = d = e = 5;
printf("Value %d",e);
但是我正在寻找的是如何将下面的定义组合到一行中,并给定要分配的固定值。
#define SIZE_OF_NODE_ADD 4
#define SIZE_OF_KEY_ADD 4
#define SIZE_OF_ID_ADD 4
#define SIZE_OF_PW_ADD 4
可以这样做吗?类似的东西
#define SIZE_OF_NODE_ADD = SIZE_OF_KEY_ADD = SIZE_OF_ID_ADD = SIZE_OF_PW_ADD = 4
/* The syntax is wrong, I just emphasize for easier understanding what I am looking for*/
最佳答案
好吧,#define
语句可以在行末尾使用 '\'
处理多行,后面没有任何其他字符,因此您可以创建奇特的 MACROS ( Multi-line DEFINE directives? )。但是解决您的问题的一个简单方法可能是使用引用定义,因此您只需更改该定义即可更改其他值。
#define REFERENCE_VALUE 4
#define SIZE_OF_NODE_ADD REFERENCE_VALUE
#define SIZE_OF_KEY_ADD REFERENCE_VALUE
#define SIZE_OF_ID_ADD REFERENCE_VALUE
#define SIZE_OF_PW_ADD REFERENCE_VALUE
请记住,REFERENCE_VALUE
必须位于文件中使用之前,否则无法编译。
关于c - 如何在 C 中使用单个赋值来定义多个 #define,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62421391/