#define:为什么大写?

时间:2013-11-28 15:21:36

标签: c++ objective-c c macros c-preprocessor

定义宏时(例如#define BALL)。为什么人们使用大写字母?我可以写#define ball之类的东西。它不是大写的,但它有效。

4 个答案:

答案 0 :(得分:8)

这是惯例。使阅读和理解代码更容易。这不是必需的,但建议使用。

答案 1 :(得分:4)

为什么使用_作为长变量名?为什么不将变量命名为a or b,因为它易于理解和调试。

使用TotalHeight等变量名称比简单i更有意义。有些人甚至在数据类型前加上Int_TotalHeight。它易于维护代码。

要回答您的问题,人们会使用它来进一步理解。一般

1)区分变量名称和宏名称

 #define MAX 45 // easy to understand, it is a macro
 int max=45;

2)将功能与宏区分开来。说

 #define MULT(x, y) (x) * (y) 
 int mult(int,int);

答案 2 :(得分:2)

以下是今天的另一个问题:Can't figure out this "called object is not a function" C time error。在这方面,OP做了#define time (24 * 60 * 60)并且在time(something)无法编译时感到惊讶。

C中没有任何标准都是大写的,所以通过使你的宏全部为大写,你可以避免碰撞。由于预处理器只是进行令牌替换,因此冲突通常会产生非明显或未检测到的错误。

答案 3 :(得分:1)

这是一种习惯。你可以用大写和小写来写。