Posted on 2012-02-23 08:04
C小加 閱讀(1336)
評論(2) 編輯 收藏 引用 所屬分類:
C++和面向?qū)ο?/a>
extern關(guān)鍵字的作用
1、 聲明外部變量或者函數(shù)
當(dāng)你所需要的變量或者函數(shù)在另一個文件里邊的時候,除了用include包含,還可以用extern聲明外部變量或者函數(shù)。
//File1.cpp
int a;
int fun(int w)
{
return ++w;
}
//main.cpp
#include<iostream>
using namespace std;
int main()
{
extern int a;//聲明外部變量
extern int fun(int w);//聲明外部函數(shù)
a=5;
cout<<a<<endl;// 5
cout<<fun(a)<<endl;// 6
return 0;
}
這里要注意的一點(diǎn)是,extern關(guān)鍵字的作用僅僅是聲明,沒有分配內(nèi)存空間,聲明的格式和定義的格式一定要嚴(yán)格相符。
2、 extern ”C” 鏈接指定為C函數(shù)庫
參數(shù)重載是C++的新特性,在C中是沒有的。在使用C++寫代碼的時候,如果調(diào)用C函數(shù)出錯(出錯的原因見C++重載的實(shí)現(xiàn)機(jī)制),則需要聲明extern “C”將鏈接指定為C函數(shù)庫。
extern "C"
{
/*
*/ }