日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++中关于内部与外部函数

發(fā)布時間:2024/4/15 c/c++ 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++中关于内部与外部函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1》如果一個函數(shù)只能被本文件中其他函數(shù)所調(diào)用 ,它稱為內(nèi)部函數(shù),又稱為靜態(tài)(static)函數(shù)。

內(nèi)部函數(shù)首部的一般形式為:

static 類型標識符? 函數(shù)史(形參表)

static??? ?int???????????? func????? (int a, int b)


可以使內(nèi)部函數(shù)只局限于所在的文件內(nèi)。

如果在不同的文件中有同名的內(nèi)部函數(shù),互不干擾。這樣不同的人可以分別編寫不同的函數(shù),而不用擔(dān)心所用的函數(shù)是否會與其他文件中的函數(shù)重名。


2》如果在函數(shù)首部的最左端以關(guān)鍵字 extern(可以省略) ,則表示此函數(shù)是外部函數(shù),可供其他文件調(diào)用 。

外部函數(shù)首部的一般形式為:

extern??類型標識符? 函數(shù)史(形參表)

extern???? int?????????????? func??? (int a ,int b )

注意:如果在定義函數(shù)時省略extern,則默認為外部函數(shù)

3-1》file1.cpp

#include<iostream>

using namespace std;

int main ()

{

?????? extern int max(int a,int b);//聲明在本函數(shù)將要調(diào)用在其他文件中定義的max函數(shù)

???? int a,b;

???? a=10;

???? b=20;

???? cout<<max(a,b)<<endl;

??? ?return 0;

}

3-2》file2.cpp

extern int max(int a,int b)

{

????? return a>b?a:b;

}

???

使用此例可知:使用extern 聲明就可以在一個文件中調(diào)用其他文件中的定義的外部函數(shù)了。


利用函數(shù)原型擴展函數(shù)作用域最常見的例子是#include指令。

例如,在程序中需要調(diào)用sin函數(shù),但是三角函數(shù)并不是由用戶在本文件中定義的,而是存放在數(shù)學(xué)函數(shù)庫中的。按以上的介紹,必須在本文件中寫出sin函數(shù)的原型,否則無法調(diào)用sin函數(shù)。

sin函數(shù)的原型是:

double sin(double x);

本來應(yīng)該由程序設(shè)計者在調(diào)用庫函數(shù)時先從手冊中查出所用的庫函數(shù)的原型,并在程序中一一寫出來,但是這樣顯然是麻煩而困難的。為了減少程序設(shè)計都的困難,在頭文件cmath中包括了所有的數(shù)學(xué)函數(shù)的原型和其他有關(guān)信息,用戶只須用以下#include指令:

#include<cmath>

即可。這時,在該文件中就能合法地調(diào)用 各數(shù)學(xué)庫函數(shù)了。

詳見:C++程序設(shè)計(第二版) P123-P125




總結(jié)

以上是生活随笔為你收集整理的C++中关于内部与外部函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。