變量聲明告知編譯器變量的外表特征,包含函數類型、函數名、參數列表和一個分號。例如:
int a;可以聲明變量 a就一個整數,這符合上面的邏輯。但這就產生了一個矛盾:這段帶碼有足夠的信息讓編譯器為整數a分配空間,而且編譯器也確實給整數a分配空間,要解決這個矛盾,對於C/C++要一個關鍵字來說明“這只是一個聲明,它的定義在別的地方”。這個關鍵字是extern,它表示變量是在文件以外定義的,或文件後面部分才定義。
下面是一些聲明的example:
//declare.cpp
//delartaion&definition examples
#include <iostream>
using namespace std;
extern int i; //Declaration without definition
extern float f(float); //Function declaration
float b; //Declaration and definition
float f(float a){ // defintion
cout<<"a="<<a<<endl; and="" declaration="" definition="" int="" pre="" return="" x="<<x<<endl;
return x+1;
}
int main(){
b =1.0;
i =2;
cout<<"><p>
</p><p>
</p></a<<endl;></iostream>