是否可以定义一个和标识符,然后在结构中使用它?
e.g。
#define APPLE 1
typedef struct
{
UINT32 banana;
APPLE;
}Fruits
我想确保我没有违反某些规则。
谢谢
答案 0 :(得分:1)
您可以将#define视为复制/粘贴预处理器命令。所以,一般来说,如果我理解这个问题,答案是肯定的。但在你的例子中,它最终会像:
typedef struct
{
UINT32 banana;
1;
}Fruits
答案 1 :(得分:0)
#define
告诉预处理器将一段文本替换为另一段文本。无论你在哪里写APPLE
,copmpiler都会认为你写了1
。
所以,你的例子相当于:
typedef struct
{
UINT32 banana;
1;
}Fruits
...这是无效的语法,因为1;
不是结构中的有效字段声明。 (最后你错过了一个分号。)