首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言入門

C 語言函數完全指南:定義、聲明、調用與參數傳遞

     編輯:C 語言入門

C 語言函數完全指南:定義、聲明、調用與參數傳遞

函數是實現代碼模組化、復用的核心機制。每個 C 程序至少包含 main() 函數,合理拆分功能到獨立函數能顯著提升可讀性與維護性。

函數結構拆解

return_type function_name(parameter_list) {
    // 函數體
}
  • 返回類型:數據類型或 void(無返回值)
  • 函數名:標識符,與參數列表構成函數簽名
  • 參數列表:類型、順序、數量;可選
  • 函數體:執行任務的語句集合

實戰示例:求最大值函數

/* 函數定義 */
int max(int num1, int num2) {
    int result;
    if (num1 > num2) result = num1;
    else result = num2;
    return result;
}

/* 函數聲明(通常放在頭文件或文件頂部) */
int max(int num1, int num2);  // 參數名可省略:int max(int, int);

/* 調用示例 */
#include <stdio.h>
int max(int, int);  // 聲明
int main() {
    int a = 100, b = 200, ret;
    ret = max(a, b);  // 調用並接收返回值
    printf("Max: %d\n", ret);
    return 0;
}

輸出: Max: 200

參數傳遞機制:傳值 vs 傳址

方式機制影響實參?示例
傳值調用複製實參值給形式參數否void func(int x)
引用調用傳遞實參地址(指針)是void func(int *x)

C 默認採用傳值調用。需修改實參時,傳遞指針:

void swap(int *a, int *b) {
    int t = *a; *a = *b; *b = t;
}
int main() {
    int x=10, y=20;
    swap(&x, &y);  // x=20, y=10
}

標準庫函數速查

常用內置函數:strcat() 字符串連接、memcpy() 內存複製、malloc()/free() 動態內存管理、printf()/scanf() 輸入輸出等。善用標準庫避免重複造輪子。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved