C++语言程序设计

| 例5-18

#include <stdio.h>
int max(int x, int y)；
main()
{
extern int a, b; //全局变量说明，而非定义
printf("%d\n", max(a, b));
return 0;
}
int a = 13, b = -8;
int max(int x, int y)
{
int z;
z = x > y ? x : y;
return z;
}

注意：用extern说明全局变量的时候，不能给初值。例如：
extern int size = 10; // 不再是说明!
因为这会使得size变成变量的定义，而不是说明，编译器会为它分配内存。如果别的地方定义了全局变量size，该程序在编译时，编译器会给出变量重复定义的错误。
使用全局变量，在我们编程中，有时会来一些方便。但是，它也有许多副作用：在程序的整个执行过程中始终占用内存空间，使程序的可读性、通用性和可移植性降低等，建议不在必要时，不使用全局变量。