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

C語言基礎教程(五)函數調用實例:簡單調用與參數傳遞機制

     編輯:C 語言基礎

2.1 簡單函數調用示例

#include <stdio.h>
int maxmum(int x, int y, int z);  // 聲明用戶自定義函數

int main() {
    int i, j, k;
    printf("i, j, k=?\n");
    scanf("%4d%4d%4d", &i, &j, &k);
    maxmum(i, j, k);              // 調用函數
    getch();
    return 0;
}

maxmum(int x, int y, int z) {     // 定義函數
    int max;
    max = x > y ? x : y;
    max = max > z ? max : z;
    printf("The maxmum value of the 3 data is %d\n", max);
}

調用時直接使用函數名和實參,實參按聲明順序傳遞,子函數運行結束後按聲明類型返回值給調用者。

2.2 函數參數傳遞詳解

數組作為參數

數組作形參時只傳遞首元素地址,不復制整個數組。調用時用數組名作實參,實際傳遞指向首元素的指針。兩函數中數組元素類型必須相同。

示例:指針方式傳遞數組

#include <stdio.h>
void disp(int *n);
int main() {
    int m[10], i;
    for(i=0; i<10; i++) m[i]=i;
    disp(m);          // 按指針方式傳遞
    getch(); return 0;
}
void disp(int *n) {
    int j;
    for(j=0; j<10; j++) printf("%3d", *(n++));
    printf("\n");
}

示例:逐個傳遞數組元素

void disp(int n);   // 形參為單個 int
int main() {
    int m[10], i;
    for(i=0; i<10; i++) {
        m[i]=i;
        disp(m[i]);  // 逐個傳遞元素值
    }
    ...
}
void disp(int n) { printf("%3d\t", n); }

此時每次只傳遞一個元素的值(值傳遞)。

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