extern在声明常量时有什么用?

Pri*_*Raj 1 objective-c

请告诉我在不同文件中声明常量变量时​​extern变量的用途是什么.

Mic*_*yan 5

extern关键字强制编译器处理语句作为声明,而不是定义.换句话说,extern 防止编译器为变量保留空间.因此,只有不使用的编译单元extern提供定义,而其他只使用声明,这符合"一个定义规则"; 如果每个编译单元要为同一个变量独立保留空间,则会导致违反"一个定义规则".请注意,extern字面意思是"定义是在外部提供的(由不同的编译单元提供)".