我有一些常量变量,我希望它们是全局变量,其中一些变量只能在定义的文件中使用。所以我使用extern和static关键字,如下所示:
extern const int kMaxHealth = 100;
static NSString * const kName = @"Name";
这只是一个例子,它们是在不同的文件中定义的,所以这不是真实的情况......
但是在没有修饰符的情况下定义变量的范围是什么,如下所示:
const int kMaxHealth = 100;
kMaxHealth现在是extern,还是静态的,还是有其他范围?
答案 0 :(得分:2)
它与没有const
的普通变量具有相同的范围,但不允许您为变量分配新值。
答案 1 :(得分:1)
const int kMaxHealth = 100;
kMaxHealth
只是一个全局变量。在文件范围定义的非静态变量可以具有外部链接。例如,在任何头文件中,您可以将其用作 -
extern const int kMaxHealth;