close

Function 是 C 語言中的基本結構單位,程式會以 function 為單位完成。其中,所有程式的入口點就是  main(), 也就是說程式會從這個 function 開始執行,如果你有很多需要重覆使用的功能,也可以把他寫成 function。


實作一個 function 有三個動作,【宣告】,【定義】,【呼叫】


首先,在程的的最前面,要有宣告的動作。在較早期的 C 編輯程式中,Function 是不需要宣告的,所以大多數的 Compiler 不管你有沒有宣告,都會正確編譯程式,但宣告在  ANSI C99 之後的標準是被要求的,所以我們還是做宣告比較好。

宣告的方法就是定義 function 格式一樣,只是除去了實作的動作,直接加個分號就完成了,請參考本節最後的範例。
 
接下來說明定義的部份。

Function 定義的語法格式如下
 
 
return type       function name     (function parameters)
{
        statements
}
 

分別說明如下

return type 

回傳格式可以是 int, float 等已經完成定義的資料類型,如果沒有東西要回傳, 則可以定義為 void 類型,也就是無回傳類型,但在大多數情況下,寫程式的人會回傳一個執行狀態訊息。例如在 ISO 標準 C 語言中 main() 這個 function 就是一個 int 類型,如果執行無誤的話就會回傳一個整數 0。(但在某些開發工具中,預設可能是 void) 要回傳時要用 return 這個關鍵字。


function name

即該 function 的名字,做為區別,呼叫他時就會使用這個名字。


function parameters

使用的參數,呼叫 function 時所送來的參數,同時也等於是在 function 中所宣告的變數。可以有一個或數個,參數之間需要用逗號分開 如 (int x,float y,char z)


statements

就是實際執行的程式內容



下面是一個典型的 function 例子


int printInt(int x)
{
    NSLog("This is %i",x);
    return 0;
}
 
 
然後我們就可以使用它如  printInt(100) 就會輸出  【This is 100】並回傳一個整數0。

接下來讓我們做一個完整的function格式了解,首先是 return type,也就是回傳的格式。一個function 在完成執行後,可以回傳一個值,那時就要用 return 這個保留字。

但實作一個 function 必需要有三個動作,【宣告】,【定義】,【呼叫】,上面只是定義的部份,完整的實作請看下面的案例:


其中第 10 行就是 printInt 的宣告,所有的宣告需在最上方 main() 之前,main() 才能呼叫,要用的動作其實和定義的第一行是一樣的,只是宣好回傳類型,名稱和參數就好了不用實作,實作定義在後面 21~25 行來定義,完成後就可以在 main() 當中來呼叫了(第16行),而它就會輸出【This is 100】

arrow
arrow

    shenfive 發表在 痞客邦 留言(0) 人氣()