當前位置:
首頁 > 知識 > 初學C語言之函數篇學習

初學C語言之函數篇學習

函數是一組一同實施一個使命的句子。每個 C 程序都至少有一個函數,即主函數 main() ,悉數簡略的程序都能夠界說別的額外的函數。

想要一起學習C++的可以加裙二四八八九四四三零,裙內有各種資料滿足大家,歡迎加裙

您能夠把代碼差異到不一樣的函數中。怎樣差異代碼到不一樣的函數中是由您來選擇的,但在邏輯上,差異通常是依據每個函數實施一個特定的使命來進行的。

函數聲明告訴編譯器函數的稱謂、回來類型和參數。函數界說供給了函數的實習主體。

C 規範庫供給了許多的程序能夠調用的內置函數。例如,函數 strcat() 用來聯接兩個字元串,函數 memcpy() 用來拷貝內存到另一個方位。

函數還有許多叫法,比如方法、子常式或程序,等等。

界說函數

C 語言中的函數界說的通常方法如下:

return_type function_name( parameter list ){ body of the function}

在 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/* 函數聲明 */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
", ret );return0;}/* 函數回來兩個數中較大的那個數 */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++的可以加裙二四八八九四四三零,裙內有各種資料滿足大家,歡迎加裙


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 C加加 的精彩文章:

C和C加加文本搜索中的精確匹配演算法上
c語言易忽略知識點之緩衝區,一起來了解一下吧
假如語言是不同的雜貨鋪
C語言的這些考點,你都知道嗎?

TAG:C加加 |

您可能感興趣

韓國留學語言學習篇
掌握英語學習的訣竅,語言學習很EASY
日本語言學校到底學什麼 ARC日本語學校課程篇
何謂語文學習、語言學習?
語言學文學期刊推薦:De Gruyter語言學文學電子期刊集
日本名牌語言學校系列—LIC國際學院
文學語言與生活語言
從政治語言個性學看學科交叉研究
語言學校介紹--走進ARC日本語學校
日本名牌語言學校系列—千代田國際語學院
日本名牌語言學校系列—行知學園日本語學校
日本名牌語言學校系列(9)—早稻田言語學院
日本留學之語言相關
最難學的語言
學習新語言的最佳年齡
韓語網校:新學期暢學新語言
日本語言學校留學,可以申請哪些獎學金?
怎樣學習C語言程序設計
語言學校介紹--走進早稲田言語學院
日本名牌語言學校系列—MANABI外語學院