C 語言
函式定義
函式是一塊具名、可重複使用的工作——就像一份你可以用名字引用、而不必每次重寫步驟的食譜。你交給它一些輸入,它執行它的步驟,並能交回一個結果。定義一個函式就是把那份食譜寫出來:它的名字、它預期的輸入、它回傳什麼型別的答案、以及它實際執行的述句。
函式定義有一個回傳型別、一個名字、一個括號內的參數列(每個各有自己的型別)、以及大括號內的本體。例如「int add(int a, int b) { return a + b; }」回傳一個 int、名為 add、接受兩個 int 參數 a 與 b,其本體回傳它們的和。參數是區域變數,在函式被呼叫時接收呼叫端的引數值。return 述句把一個值交回呼叫端並結束函式;回傳型別為 void 的函式不回傳值,可以單純抵達右大括號或用一個光禿的 return。
為什麼重要:函式是 C 程式被拆成可管理、可測試、可重用片段的主要方式。它們替一個想法命名、把雜亂的細節藏在乾淨的介面後面,並讓你從許多地方呼叫同一段邏輯而不必複製它。要分清楚的是:定義提供本體,是程式碼真正存在的那一處;而原型(一種宣告)只宣布函式的形狀,好讓別處的呼叫端能被檢查。
int add(int a, int b) { /* 回傳型別、名字、參數 */ return a + b; /* 把結果交回呼叫端 */ } /* 呼叫方式:int sum = add(2, 3); sum 是 5 */
一個完整的定義:回傳型別 int、名字 add、兩個 int 參數,以及一個回傳它們之和的本體。
定義提供本體且只存在一次;原型只宣告形狀。參數是引數全新的區域副本(傳值呼叫),所以在函式內改動參數不會改動呼叫端的變數。
又称
另见