我知道可以使用#define宏来声明常量。这样,就可以很容易地将整数、浮点或字符文字定义为常量。但是,对于更复杂的数据结构,例如数组或结构,例如: int name;} person;
我希望能够只初始化它一次,然后使它成为一个不可编辑的结构。在面向对象的语言中,有final关键字可以轻松做到这一点,但在C中没有这样的东西。我
我正在从事嵌入式系统项目,我不知道为什么现在我注意到了这一点,但是如果我定义了一个变量两次,编译器就不会给我任何警告或错误,这是非常奇怪的,因为我可以在库中意外地使用与另一个宏相同的名称,这很容易让我下地狱所以要避免的最佳做法是使用#ifndef条件测试每个名称,但是代码会很长,很难阅读。ifndef a // I check if 'a' already defined
#define a 10 // if not I can