如图所示,在结构内定义常量数据是否有任何特殊意义。这来自第三方图书馆。
typedef struct
{
IntVB abc_number;
#define ABC_A 0x01
#define ADBC_E 0x02
IntVB asset;
} StructA;
答案 0 :(得分:6)
不是真的。它们可能在程序代码中为程序员提供了更好的意义。
这意味着这些常量可能与该struct容器中的项或结构的行为有关。
答案 1 :(得分:2)
同意@Luca Matteis。它们可能是在那里定义的,因为它们在代码中的那一点是相关的。编译器不会特别处理它们。特别是,它们可以在该结构之前定义并且工作方式相同。他们在里面没有任何意义。
但是,有一点需要注意,它们仅在定义之后才有效。所以它们不能在文件的早期使用。这可能很重要。例如,在此之前可以对它们进行不同的定义。 (这样做是个坏主意,但这是可能的。)
答案 2 :(得分:1)
不,可以在没有任何范围的情况下调用它们