C++中的函數定義、聲明、調用


1、函數的本質:

  • 函數由能完成特定功能的獨立程序代碼塊組成,如有必要,也可調用其他函數(函數的嵌套)
  • 函數內部工作對程序的其它部分是不可見的

2、  實現一個函數要經過3個步驟:定義、聲明、調用

函數聲明(又稱函數原型)的原因:用來通知編譯器函數的存在,以獲得函數的使用許可,只有這樣,才能在程序中對函數進行調用。

具體來說,函數聲明的作用如下:

  • 使編譯器正確處理返回值
  • 使編譯器可以檢查輸入參數的數目
  • 使編譯器檢查輸入參數的類型,如果類型不正確,則對類型進行隱式轉換

函數調用的作用如下:

  • 用實參向形參傳遞數據
  • 為獲得數據的參數和函數中為聲明的變量分配臨時存儲空間
  • 中斷當前正在運行的上級調用函數,將程序流程轉到被調用函數的入口處

3、分割程序文件

    一些程序常由許多文件組成,為了方便管理,經常將函數定義在cpp文件中,而將函數聲明語句放在與cpp文件同名的頭文件中(.h文件),這樣就可以通過編譯器預處理

#include "xxx.h"來實現函數的聲明,這種方法在大型程序文件的組織中非常常見。

如:

主程序:example.cpp

#include<iostream>
#include<stdlib.h>

#include "func.h"  //通過編譯預處理,實現函數的聲明

using namespace std;

int main()
{
    int num1,num2;
    int z;
    cout<<"請輸入兩個整數:";
    cin>>num1>>num2;
    cout<<"輸入的兩個數的和為:";
    z=add(num1,num2);
    print(z);
    cout<<"輸入的兩個數的較大值為:";
    z=max(num1,num2);
    print(z);    
    cout<<"輸入的兩個數的較小值為:";
    z=min(num1,num2);
    print(z);

    system("pause");
    return 0;

}

函數功能:func.cpp

#include<iostream>

using namespace std;

int add(int x,int y)
{
    int z;
    z=x+y;
    return z;
}

int max(int x,int y)
{
    int z;
    if(x>y)
        z=x;
    else
        z=y;
    return z;
}

int min(int x,int y)
{
    int z;
    if(x>y)
        z=y;
    else
        z=x;
    return z;
}

void print(int x)
{
    cout<<x<<endl;
}

函數聲明:func.h

int add(int x,int y);
int max(int x,int y);
int min(int x,int y);
void print(int x);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM