C语言 函数
定義函數
在 C 語言中,函數由一個函數頭和一個函數主體組成。下面列出一個函數的所有組成部分:
返回類型:一個函數可以返回一個值。return_type?是函數返回的值的數據類型。有些函數執行所需的操作而不返回值,在這種情況下,return_type 是關鍵字?void。
函數名稱:這是函數的實際名稱。函數名和參數列表一起構成了函數簽名。
參數:參數就像是占位符。當函數被調用時,您向參數傳遞一個值,這個值被稱為實際參數。參數列表包括函數參數的類型、順序、數量。參數是可選的,也就是說,函數可能不包含參數。
函數主體:函數主體包含一組定義函數執行任務的語句。
舉個例子:以下是?max()?函數的源代碼。該函數有兩個參數 num1 和 num2,會返回這兩個數中較大的那個數:
/* 函數返回兩個數中較大的那個數 */int max(int num1, int num2) { ? /* 局部變量聲明 */ ? int result; ? if (num1 > num2) ? ? ?result = num1; ? else ? ? ?result = num2; ? return result; }
函數聲明
函數聲明會告訴編譯器函數名稱及如何調用函數。函數的實際主體可以單獨定義。
函數聲明包括以下幾個部分:
return_type?function_name(?parameter?list?);針對上面定義的函數 max(),以下是函數聲明:
int?max(int?num1,?int?num2);在函數聲明中,參數的名稱并不重要,只有參數的類型是必需的,因此下面也是有效的聲明:
int?max(int,?int);當您在一個源文件中定義函數且在另一個文件中調用函數時,函數聲明是必需的。在這種情況下,您應該在調用函數的文件頂部聲明函數。
調用函數
創建 C 函數時,會定義函數做什么,然后通過調用函數來完成已定義的任務。
當程序調用函數時,程序控制權會轉移給被調用的函數。被調用的函數執行已定義的任務,當函數的返回語句被執行時,或到達函數的結束括號時,會把程序控制權交還給主程序。
調用函數時,傳遞所需參數,如果函數返回一個值,則可以存儲返回值。
例如:
#include <stdio.h> /* 函數聲明 */int max(int num1, int num2);
int main ()
{
??/* 局部變量定義 */
? ?int a = 100;?
? ?int b = 200;
?? int ret; ?
? /* 調用函數來獲取最大值 */ ? ret = max(a, b); ? printf( "Max value is : %d\n", ret );
? ?return 0;
}
/* 函數返回兩個數中較大的那個數 */
int max(int num1, int num2)
{
? /* 局部變量聲明 */ ? int result; ? if (num1 > num2)
? ? ? result = num1;?
? ?else
? ? ?result = num2; ? return result; }
把 max() 函數和 main() 函數放一塊,編譯源代碼。當運行最后的可執行文件時,會產生下列結果:
Max?value?is?:?200函數參數
如果函數要使用參數,則必須聲明接受參數值的變量。這些變量稱為函數的形式參數。形式參數就像函數內的其他局部變量,在進入函數時被創建,退出函數時被銷毀。
默認情況下,C 使用傳值調用來傳遞參數。一般來說,這意味著函數內的代碼不能改變用于調用函數的實際參數。
聲明:
本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。
總結
- 上一篇: 安卓手机系统更新好还是不更新好(安卓手机
- 下一篇: C语言边角料:结构体中指针类型的成员变量