函數是一段可以重複使用的程式碼,用來獨立地完成某個功能,它可以接收使用者傳遞的數據,也可以不接收。接收使用者資料的函數在定義時要指明參數,不接收使用者資料的不需要指明,根據這一點可以將函數分為有參函數和無參函數。
將程式碼段封裝成函數的過程叫做函數定義。
函數的定義包含一個函數頭(function head,或稱為宣告符(declarator))和一個函數區塊。 函數頭指定了函數的名稱、傳回值的類型以及參數的類型和名稱(如果有參數的話)。函數塊中的語句明確了該函數要做的事。函數定義的一般格式如下所示:
在上述格式的函數頭中,「名稱」指函數名,而「類型」包含至少一個型別修飾符,用來定義函數傳回值的型別。傳回值的類型可以是 void 或任何物件類型,但不可以是陣列類型。
而且,類型部分還可以包含函數修飾符 inline 或 _Noreturn,以及儲存類別修飾符 extern 和 static。
無參函數的定義
如果函數不接收使用者傳遞的數據,那麼定義時可以不帶參數。如下所示:
dataType functionName(){ //body }
有參函數的定義
如果函數需要接收使用者傳遞的數據,那麼定義時就要帶上參數。如下所示:
dataType functionName( dataType1 param1, dataType2 param2 ... ){ //body }
函數不能巢狀定義
強調一點,C語言不允許函數巢狀定義;也就是說,不能在一個函數中定義另外一個函數,必須在所有函數之外定義另一個函數。 main() 也是一個函數定義,也不能在 main() 函數內部定義新函數。
以上是c語言定義函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!