国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

簡單講解C++的內部和外部函數以及宏的定義

2020-01-26 14:53:10
字體:
來源:轉載
供稿:網友

C++內部函數和外部函數
函數本質上是全局的,因為一個函數要被另外的函數調用,但是,也可以指定函數只能被本文件調用,而不能被其他文件調用。根據函數能否被其他源文件調用,將函數區分為內部函數和外部函數。
內部函數

如果一個函數只能被本文件中其他函數所調用,它稱為內部函數。在定義內部函數時,在函數名和函數類型的前面加static。函數首部的一般格式為:

  static 類型標識符 函數名(形參表);



  static int fun(int a, int b);


內部函數又稱靜態(static)函數。使用內部函數,可以使函數只局限于所在文件。如果在不同的文件中有同名的內部函數,互不干擾。通常把只能由同一文件使用的函數和外部變量放在一個文件中,在它們前面都冠以static使之局部化,其他文件不能引用。
外部函數

在定義函數時,如果在函數首部的最左端冠以關鍵字extern,則表示此函數是外部函數,可供其他文件調用。如函數首部可以寫為:

  extern int fun (int a, int b);


這樣,函數fun就可以為其他文件調用。如果在定義函數時省略extern,則默認為外部函數。本教程前面所用的函數都是外部函數。

在需要調用此函數的文件中,用extern聲明所用的函數是外部函數。

【例】輸入兩個整數,要求輸出其中的大者,用外部函數實現。

/*******file1.cpp(文件1)*******/#include <iostream>using namespace std;int main( ){  extern int max(int,int); //聲明在本函數中將要調用在其他文件中定義的max函數  int a,b;  cin>>a>>b;  cout<<max(a,b)<<endl;  return 0;}/*******file2.cpp(文件2)*******/int max(int x,int y){  int z;  z=x>y?x:y;  return z;}

運行情況如下:

7 -34

主站蜘蛛池模板:
乌鲁木齐市|
云浮市|
渝中区|
越西县|
伽师县|
本溪市|
阿图什市|
建德市|
堆龙德庆县|
安福县|
绥德县|
比如县|
泸水县|
肥城市|
鹰潭市|
阜城县|
靖边县|
曲阳县|
稻城县|
嘉兴市|
娱乐|
邯郸县|
来宾市|
建平县|
黔西县|
临武县|
七台河市|
岳阳市|
金堂县|
增城市|
鹰潭市|
花莲县|
离岛区|
绥宁县|
霍城县|
重庆市|
安龙县|
重庆市|
正阳县|
平远县|
社会|