在上一课中,你学到了一块有块中声明的变量范围。块范围的变量只能在块中声明它们(或嵌套的子块),并被摧毁当块结束。
一块外声明的变量称为全局变量。全局变量的程序的范围,这意味着他们可以在程序中到处访问,他们只是被破坏时,程序结束。
这里是声明一个全局变量的一个例子:
1
2
3
4
5
6
7
8
9
10
int g_nX; // global variable
int main()
{
int nY; // local variable nY
// global vars can be seen everywhere in program
// so we can change their values here
g_nX = 5;
} // nY is destroyed here
因为全局变量程序的范围,他们可以在多个文件中使用。一节中有多个文件的程序,你知道为了使用函数在另一文件中声明,你必须使用一个声明,或者头文件。
同样,为了使用一个全局变量,已在另一个文件中声明,你必须使用一个声明或者头文件,随着extern关键字。extern告诉编译器你没有宣布一个新的变量,而是指一个变量声明的地方。
这是使用前向声明风格外部的一个例子: