在ANSI C中使用“#define”符号常量

时间:2013-10-15 15:40:05

标签: c

通过K& R的C编程语言遇到符号常量后,我没有看到它们的用法/重要性。我宁愿使用一个'实数'常量,比一个整数,而不是使用#define语句。我明白为什么你会说... ...

#define PI 3.14

而不是在程序中输入“3.14”,但为什么要使用#define语句呢? 我可以用......

static const double PI = 3.14;

今天使用的符号常量还是仅仅是“当天”更有用的语言特征?

您建议我应该使用哪些常量?

1 个答案:

答案 0 :(得分:1)

#define是旧的,只是由预处理器处理的文本替换。例如,当您执行#define PI 3.14时,预处理器只是将所有出现的PI替换为数字文字3.14

const更新,并且依赖于编译器。它可以在编译时或运行时进行评估。它还提供范围。

我个人使用#define,因为它是在编译时进行评估的保证,并且还有其他灵活用途。