C 語言基礎(chǔ)教程

C 語言流程控制

C 語言函數(shù)

C 語言數(shù)組

C 語言指針

C 語言字符串

C 語言結(jié)構(gòu)體

C 語言文件

C 其他

C 語言參考手冊(cè)

C 數(shù)組作為函數(shù)參數(shù)

在本教程中,您將學(xué)習(xí)通過示例將數(shù)組(一維和多維數(shù)組)傳遞給C語言編程中的函數(shù)的方法。

在C語言編程中,您可以將整個(gè)數(shù)組傳遞給函數(shù)。在了解這一點(diǎn)之前,讓我們看看如何將數(shù)組的各個(gè)元素傳遞給函數(shù)。

傳遞單個(gè)數(shù)組元素

將數(shù)組元素傳遞給函數(shù)類似于將變量傳遞給函數(shù)

示例1:傳遞數(shù)組

#include <stdio.h>
void display(int age1, int age2)
{
    printf("%d\n", age1);
    printf("%d\n", age2);
}

int main()
{
    int ageArray[] = {2, 8, 4, 12};

    //將第二個(gè)和第三個(gè)元素傳遞給display()
    display(ageArray[1], ageArray[2]); 
    return 0;
}

輸出結(jié)果

8
4

示例2:將數(shù)組傳遞給函數(shù)

//程序通過傳遞給函數(shù)來計(jì)算數(shù)組元素的總和

#include <stdio.h>
float calculateSum(float age[]);

int main() {
    float result, age[] = {23.4, 55, 22.6, 3, 40.5, 18};

    //age數(shù)組傳遞給calculateSum()
    result = calculateSum(age); 
    printf("結(jié)果 = %.2f", result);
    return 0;
}

float calculateSum(float age[]) {

  float sum = 0.0;

  for (int i = 0; i < 6; ++i) {
		sum += age[i];
  }

  return sum;
}

輸出結(jié)果

結(jié)果 = 162.50

要將整個(gè)數(shù)組傳遞給函數(shù),僅將數(shù)組名作為參數(shù)傳遞。

result =  calculateSum(age);

但是,請(qǐng)注意[]在函數(shù)定義中的使用。

float calculateSum(float age[]) {
... ..
}

這將通知編譯器您正在將一維數(shù)組傳遞給該函數(shù)。

將多維數(shù)組傳遞給函數(shù)

要將多維數(shù)組傳遞給函數(shù),僅將數(shù)組的名稱傳遞給函數(shù)(類似于一維數(shù)組)。

示例3:傳遞二維數(shù)組

#include <stdio.h>
void displayNumbers(int num[2][2]);
int main()
{
    int num[2][2];
    printf("輸入4個(gè)數(shù)字:\n");
    for (int i = 0; i < 2; ++i)
        for (int j = 0; j < 2; ++j)
            scanf("%d", &num[i][j]);

    //將多維數(shù)組傳遞給函數(shù)
    displayNumbers(num);
    return 0;
}

void displayNumbers(int num[2][2])
{
    printf("Displaying:\n");
    for (int i = 0; i < 2; ++i) {
        for (int j = 0; j < 2; ++j) {
           printf("%d\n", num[i][j]);
        }
    }
}

輸出結(jié)果

輸入4個(gè)數(shù)字:
2
3
4
5
Displaying:
2
3
4
5

注意:在C語言編程中,可以將數(shù)組傳遞給函數(shù),但是,不能從函數(shù)返回?cái)?shù)組。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清