C 基礎學習(06) 函式

2021-10-23 14:29:06 字數 2824 閱讀 3980

c++ 中的函式定義的一般形式如下:

return_type function_name

( parameter list )

在 c++ 中,函式由乙個函式頭和乙個函式主體組成。下面列出乙個函式的所有組成部分:

舉乙個例子

以下是 max() 函式的源**。該函式有兩個引數 num1 和 num2,會返回這兩個數中較大的那個數:

// 函式返回兩個數中較大的那個數

intmax

(int num1,

int num2)

函式宣告包括以下幾個部分:

return_type function_name

( parameter list )

;

針對上面定義的函式 max(),以下是函式宣告:

int

max(

int num1,

int num2)

;

在函式宣告中,引數的名稱並不重要,只有引數的型別是必需的,因此下面也是有效的宣告:

int

max(

int,

int)

;

當在乙個原始檔中定義函式且在另乙個檔案中呼叫函式時,函式宣告是必需的。在這種情況下,您應該在呼叫函式的檔案頂部宣告函式。

舉乙個例子

#include

using

namespace std;

// 函式宣告

intmax

(int num1,

int num2)

;int main (

)// 函式返回兩個數中較大的那個數

intmax

(int num1,

int num2)

如果函式要使用引數,則必須宣告接受引數值的變數。這些變數稱為函式的形式引數。

形式引數就像函式內的其他區域性變數,在進入函式時被建立,退出函式時被銷毀。

有三種向函式傳遞引數的方式:

向函式傳遞引數的傳值呼叫方法,把引數的實際值複製給函式的形式引數。在這種情況下,修改函式內的形式引數不會影響實際引數。

預設情況下,c++ 使用傳值呼叫方法來傳遞引數。一般來說,這意味著函式內的**不會改變用於呼叫函式的實際引數。

舉個例子

#include

using

namespace std;

void

swap

(int x,

int y )

;int

main()

void

swap

(int x,

int y )

還有另一種較好的寫法,可以使用異或運算交換兩數的值:

#include

using

namespace std;

void

swap

(int x,

int y )

;int

main()

void

swap

(int x,

int y )

向函式傳遞引數的指標呼叫方法,把引數的位址複製給形式引數。在函式內,該位址用於訪問呼叫中要用到的實際引數。這意味著,修改形式引數會影響實際引數。

按指標傳遞值,引數指標被傳遞給函式,就像傳遞其他值給函式一樣。

還是上乙個例子,我們可以這麼寫

#include

using

namespace std;

void

swap

(int

*x,int

*y )

;int

main()

void

swap

(int

*x,int

*y )

#include

void

swap

(int

*x,int

*y )

;int

main()

void

swap

(int

*x,int

*y )

向函式傳遞引數的引用呼叫方法,把引用的位址複製給形式引數。在函式內,該引用用於訪問呼叫中要用到的實際引數。這意味著,修改形式引數會影響實際引數。

按引用傳遞值,引數引用被傳遞給函式,就像傳遞其他值給函式一樣。

#include

using

namespace std;

void

swap

(int

&x,int

&y )

;int

main()

void

swap

(int

&x,int

&y )

#include

using

namespace std;

void

swap

(int

&x,int

&y )

;int

main()

void

swap

(int

&x,int

&y )

C 基礎學習筆記06 繼承

利用繼承,減少重複 1.1 基本語法 class animal class dog public animal 1.2 繼承方式繼承語法 class 子類 繼承方式 父類 繼承方式 公共繼承 保護繼承 私有繼承 父類中所有非靜態成員屬性都會被子類繼承下去 父類中私有成員屬性是被編譯器給隱藏了,因此是...

Python基礎之 函式 (06)

1什麼是函式?函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。函式能提高應用的模組性,和 的重複利用率。2定義函式 要想定義乙個由自己想要功能的函式,要遵守以下基本的規則 任何傳入引數和自變數必須放在圓括號中間,圓括號之間可以用於定義引數。函式的第一行語句可以選擇性地使用文件字串 用...

C 基礎學習 函式

目的 了解函式比c增加的內容 1 函式引數引用 優點 避免記憶體拷貝造成的效能開銷。場景 一般用於函式引數傳遞及返回值這種情況。功能 1 作為函式返回值 2 作為函式引數,可使用const修飾,防止函式內部修改。2 預設引數 1 預設值從右邊開始往左定義,中間不能有中斷。2 一般在宣告時寫好預設引數...