extern int a,b; //能夠寫成 extern a,b 代表在別處已經定義 //extern聲明文件內外部變量 #include <iostream> using namespace std; void main() { int max(int,int); extern a,b; //聲明外部變量a,b cout<<a<<b<<endl; } int a=1,b=2; int max() { if a>=b return a; else return b; } //================= //extern聲明文件間外部變量 //file1.cpp int a; //file2.cpp extern a; //兩個文件共用一個a,若是各自定義a將在連接時出錯。 //================= //用static限制變量不被其餘文件使用 //file1.cpp static int a; //file2.cpp extern a; //出錯,a被static限制後不能被其餘文件使用 //以上兩種狀況的a都是靜態存儲的,只是做用域有區別 //=================