天天看點

c語言在子函數輸入數組傳回到主函數輸出_C語言核心技術函數

點選上方“學士科技”,選擇“設為星标”

資訊、技術幹貨第一時間送達!

c語言在子函數輸入數組傳回到主函數輸出_C語言核心技術函數

01.C語言基礎-資料類型

02.C語言中算法的基本特性和表達方式

03.C語言中的輸入輸出函數

04.C語言基礎-循環控制語句

05.C語言基礎-條件控制語句

06.C語言基礎-控制語句示例

07.C語言數組- 一維數組

08.C語言數組- 二維數組

09.C語言數組-字元數組

10.C語言中常用的6個字元串處理函數

c語言在子函數輸入數組傳回到主函數輸出_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;}
           
c語言在子函數輸入數組傳回到主函數輸出_C語言核心技術函數

{}之間的内容則為函數體。

函數的聲明和調用

在使用函數之前應該先聲明,事先通知編譯器該函數的類型:換句話說,一個聲明即是描述一個函數的接口。聲明至少應指明函數傳回值的類型,如下例所示:

int add(int a, int b);

在函數聲明中,參數的名稱并不重要,隻有參數的類型是必需的,是以下面也是有效的聲明:

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\n", ret);   return 0;}/* 函數傳回兩個數中較大的那個數 */int max(int num1, int num2){   /* 局部變量聲明 */   int result;   if (num1 > num2)       result = num1;   else       result = num2;   return result;}
           

運作結果如下:

c語言在子函數輸入數組傳回到主函數輸出_C語言核心技術函數

函數調用這一塊我想着重說下遞歸調用

所謂遞歸,就是自己調用自己。C語言中函數可以直接或間接的調用自己,所謂的間接調用,是指在遞歸函數調用的下層函數中再調用自己,遞歸關系如下圖:

  • 直接調用
c語言在子函數輸入數組傳回到主函數輸出_C語言核心技術函數
  • 間接調用
c語言在子函數輸入數組傳回到主函數輸出_C語言核心技術函數

文法格式如下:

void recursion(){  statements;  ... ... ...  recursion(); /* 函數調用自身 */  ... ... ...}int main(){  recursion();}
           

流程圖:

c語言在子函數輸入數組傳回到主函數輸出_C語言核心技術函數

下來我們一起看一個關于函數遞歸調用的示例

//下面的執行個體使用遞歸函數生成一個給定的數的斐波那契數列:#include int fibonaci(int i){  if(i == 0)  {     return 0;  }  if(i == 1)  {     return 1;  }  return fibonaci(i-1) + fibonaci(i-2);}int  main(){   int i;   for (i = 0; i < 10; i++)  {      printf("%d\t\n", fibonaci(i));  }   return 0;}
           

函數運作結果:

c語言在子函數輸入數組傳回到主函數輸出_C語言核心技術函數

關于函數今天就先介紹到這,後面繼續更新。。。

c語言在子函數輸入數組傳回到主函數輸出_C語言核心技術函數

【END】

c語言在子函數輸入數組傳回到主函數輸出_C語言核心技術函數
c語言在子函數輸入數組傳回到主函數輸出_C語言核心技術函數