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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

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

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

1》如果一個函數只能被本文件中其他函數所調用 ,它稱為內部函數,又稱為靜態(static)函數。

內部函數首部的一般形式為:

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

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


可以使內部函數只局限于所在的文件內。

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


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

外部函數首部的一般形式為:

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

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

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

3-1》file1.cpp

#include<iostream>

using namespace std;

int main ()

{

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

???? 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 聲明就可以在一個文件中調用其他文件中的定義的外部函數了。


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

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

sin函數的原型是:

double sin(double x);

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

#include<cmath>

即可。這時,在該文件中就能合法地調用 各數學庫函數了。

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




總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。