函式就是一組一起執行的語句,每個c程式至少有乙個函式,也就是main()函式。理論上來講,我們把所有的程式**都寫在主函式裡是沒有問題的。但是這會使主函式變得龐雜、頭緒不清,使得閱讀和維護程式變得困難。函式可以解決這些問題,而且,函式可以減少我們重複編寫同樣功能的**。
c 標準庫提供了大量的程式可以呼叫的內建函式。此外,我們可以根據需要,定義其他額外的函式。
定義函式:
c 語言中的函式定義的一般形式如下:
return_type function_name( parameter list )
函式的所有組成部分:
1.返回型別:乙個函式可以返回乙個值。return_type 是函式返回的值的資料型別。有些函式執行所需的操作而不返回值,在這種情況下,return_type 是關鍵字 void。
2.函式名稱:這是函式的實際名稱。函式名和引數列表一起構成了函式簽名。
3.引數:引數就像是佔位符。當函式被呼叫時,您向引數傳遞乙個值,這個值被稱為實際引數。引數列表包括函式引數的型別、順序、數量。引數是可選的,也就是說,函式可能不包含引數。
4.函式主體:函式主體包含一組定義函式執行任務的語句。
簡單例子:
int
sum(int num1,int num2) //求num1和num2的和
函式宣告:
函式宣告會告訴編譯器函式名稱及如何呼叫函式。函式的實際主體可以單獨定義。
函式宣告包括以下幾個部分:
return_type function_name( parameter list );
像上面定義的sum()函式,宣告如下
int
sum(int num1,int num2);
當您在乙個原始檔中定義函式且在另乙個檔案中呼叫函式時,函式宣告是必需的。在這種情況下,您應該在呼叫函式的檔案頂部宣告函式。
呼叫函式:
#include
intsum(int num1,int num2);//函式宣告
int main()
intsum(int num1,int num2)//函式定義
執行:
函式引數:
如果函式要使用引數,則必須宣告接受引數值的變數。這些變數稱為函式的形式引數。
形式引數就像函式內的其他區域性變數,在進入函式時被建立,退出函式時被銷毀。
當呼叫函式時,有兩種向函式傳遞引數的方式:
傳值呼叫:該方法把引數的實際值複製給函式的形式引數。在這種情況下,修改函式內的形式引數不會影響實際引數。
引用呼叫:該方法把引數的位址複製給形式引數。在函式內,該位址用於訪問呼叫中要用到的實際引數。這意味著,修改形式引數會影響實際引數。
預設情況下,c 使用傳值呼叫來傳遞引數。一般來說,這意味著函式內的**不能改變用於呼叫函式的實際引數。
從頭開始學習c語言
以前的時候學習c語言時候認為c語言不過是乙個學習的工具,學習一些理論知識就達到目的了,誰會用這麼傻的語言啊,連個介面也沒有,不像vb一下子就做出乙個窗體來,放上幾個按鈕就可以了 後來學習c 的時候,認為c 與c是一種完全不同的語言,兩者基本沒有什麼相容性,當時在學校裡看書的時候,一直比較納悶為會c ...
從頭開始C語言 初識
一 注釋 1 statement 2 statement 3 真正從邏輯上刪除一段 if 0 statements endif 二 預處理指令 1 include 宣告標頭檔案,如 include 可訪問標準i o庫的函式 input output include 定義了exit success和e...
從頭開始 05 C語言中函式
函式 完成特定功能 段 特點 函式只有呼叫的時候才會執行 定義格式 返回值型別 函式名稱 形參型別 形參名稱,語句 函式引數 形式引數 在定義函式的時候,函式名後面小括號中的引數 實際引數 在函式呼叫的時候,函式名後面小括號中的引數 注意點 形參與實參必須一一對應 實參與形參的型別必須一致 基本資料...