5

可能重复:
c中的“static const”与“#define”

当我这样做时:

#define WEEKDAYS 7

然后 :

const int WEEKDAYS = 7;

他们之间有什么区别吗?似乎两者都做同样的事情 - 为代码中的未来使用设置一个常量值。

4

2 回答 2

7
#define WEEKDAYS 7

void f() {
    int WEEKDAYS = 3; // error
}

const int WEEKDAYS_CONST = 7;

void g() {
    int WEEKDAYS_CONST = 3; // okay: local scope for WEEKDAYS_CONST
}
于 2012-08-25T16:30:59.943 回答
2
#define WEEKDAYS 7

用数字 7替换源文件中所有出现的单词WEEKDAYS

const int WEEKDAYS = 7;

定义一个由 7 表示的实际常量,您可以在代码中访问该常量。

于 2012-08-25T16:29:04.913 回答