C语言核心技术——函数
C語言文章更新目錄
C/C++學習資源(百度云盤鏈接)
計算機二級資料(過級專用)
C語言學習路線(從入門到實戰)
編寫C語言程序的7個步驟和編程機制
C語言基礎-第一個C程序
C語言基礎-簡單程序分析
VS2019編寫簡單的C程序示例
簡單示例,VS2019調試C語言程序
C語言基礎-基本算法
C語言基礎-數據類型
C語言中的輸入輸出函數
C語言流程控制語句
C語言數組——一維數組
C語言數組——二維數組
C語言數組——字符數組
C語言中常用的6個字符串處理函數
精心收集了60個C語言項目源碼,分享給大家
對于一個C程序而言,它所有的命令都包含在函數內。每個函數都會執行特定的任務。有一個特別的函數,名稱為main()——該函數是程序啟動后,第一個執行的函數。其他所有函數都是main()函數的子函數(或者與之相關聯的過程,例如回調函數),并且它們的函數名稱可以自己設定。每個函數都只能被定義一次。但一個函數可以根據需要被多次的聲明和調用。
函數的定義
C 語言中的函數定義的一般形式如下:
return_type function_name( parameter list ) {body of the function }函數由一個函數頭和一個函數主體組成。下面列出一個函數的所有組成部分:
- 返回類型: 一個函數可以返回一個值。return_type 是函數返回的值的數據類型。有些函數執行所需的操作而不要返回值,在這種情況下,return_type 是關鍵字 void。
- 函數名稱: 這是函數的實際名稱。函數名和參數列表一起構成了函數簽名。
- 參數: 參數就像是占位符。當函數被調用時,您向參數傳遞一個值,這個值被稱為實際參數。參數列表包括函數參數的類型、順序、數量。參數是可選的,也就是說,函數可能不包含參數。
- 函數主體: 函數主體包含一組定義函數執行任務的語句。
下來看個示例:
int add(int a, int b){int result;rusult = a + b;return result; }{}之間的內容則為函數體。
函數的聲明和調用
在使用函數之前應該先聲明,事先通知編譯器該函數的類型:換句話說,一個聲明即是描述一個函數的接口。聲明至少應指明函數返回值的類型,如下例所示:
int add(int a, int b);
在函數聲明中,參數的名稱并不重要,只有參數的類型是必需的,因此下面也是有效的聲明:
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;elseresult = num2;return result; }運行結果如下:
函數調用這一塊我想著重說下遞歸調用
所謂遞歸,就是自己調用自己。C語言中函數可以直接或間接的調用自己,所謂的間接調用,是指在遞歸函數調用的下層函數中再調用自己,遞歸關系如下圖:
-
直接調用
-
間接調用
語法格式如下:
void recursion() {statements;... ... ...recursion(); /* 函數調用自身 */... ... ... }int main() {recursion(); }流程圖:
下來我們一起看一個關于函數遞歸調用的示例
函數運行結果:
關于函數今天就先介紹到這,后面繼續更新。。。
如果您覺得本篇文章對您有幫助,請轉發給更多的人
【C語言中文社區】是一個C語言/C++視頻教程、學習筆記、電子書、計算機二級資料等專注于C語言/C++編程學習者的干貨知識分享平臺,精選深度文章,分享優秀干貨類、技能類的學習資源,幫助學習中的你。
總結
以上是生活随笔為你收集整理的C语言核心技术——函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言流程控制语句——3个循环语句和一个
- 下一篇: 我们编写的C代码是怎样跑起来的?