C語言中文網 目錄

什么是函數?以及函數的定義

對于一個 C 程序而言,它所有的命令都包含在函數內。每個函數都會執行特定的任務。有一個特別的函數,名稱為 main()——該函數是程序啟動后,第一個執行的函數。其他所有函數都是 main()函數的子函數(或者與之相關聯的過程,例如回調函數),并且它們的函數名稱可以自己設定。

每個函數都只能被定義一次。但一個函數可以根據需要被多次的聲明和調用。

函數的定義包含一個函數頭(function head,或稱為聲明符(declarator))和一個函數塊函數頭指定了函數的名稱、返回值的類型以及參數的類型和名稱(如果有參數的話)。函數塊中的語句明確了該函數要做的事。函數定義的一般格式如下所示:


在上述格式的函數頭中,“名稱”指函數名,而“類型”包含至少一個類型修飾符,用來定義函數返回值的類型。返回值的類型可以是 void 或者任何對象類型,但不可以是數組類型。而且,類型部分還可以包含函數修飾符 inline 或 _Noreturn,以及存儲類修飾符 extern 和 static。

函數無法返回函數或數組。然而,可以定義一個函數的返回值為指針,并將該指針指向一個函數或數組。

在上述格式中,“參數聲明”是一個以逗號分隔、由函數參數聲明組成的列表。如果該函數沒有參數需要傳入,則這個列表為空,或者僅有關鍵字 void。

函數類型不僅指定了其返回值的類型,也指定了其所有參數的類型。例 1 是一個簡單的函數,用來計算圓柱體的體積。

【例1】函數 cylinderVolume()
// 函數cylindeirVolume()用于計算圓柱體的體積
// 參數:截面圓的半徑;圓柱體的高度
// 返回值:圓柱體的體積
extern double cylinderVolume( double r, double h )
{
   const double pi = 3.1415926536;      // pi是一個常量
   return pi * r * r * h;
}

該函數的名稱為 cylinderVolume,并且有兩個參數,分別是 r 和 h,它們都是 double 類型。該函數的返回值是 double 類型。

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo