在本教程中,您將學(xué)習(xí)通過示例將數(shù)組(一維和多維數(shù)組)傳遞給C語言編程中的函數(shù)的方法。
在C語言編程中,您可以將整個數(shù)組傳遞給函數(shù)。在了解這一點之前,讓我們看看如何將數(shù)組的各個元素傳遞給函數(shù)。
將數(shù)組元素傳遞給函數(shù)類似于將變量傳遞給函數(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};
//將第二個和第三個元素傳遞給display()
display(ageArray[1], ageArray[2]);
return 0;
}輸出結(jié)果
8 4
//程序通過傳遞給函數(shù)來計算數(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
要將整個數(shù)組傳遞給函數(shù),僅將數(shù)組名作為參數(shù)傳遞。
result = calculateSum(age);
但是,請注意[]在函數(shù)定義中的使用。
float calculateSum(float age[]) {
... ..
}這將通知編譯器您正在將一維數(shù)組傳遞給該函數(shù)。
要將多維數(shù)組傳遞給函數(shù),僅將數(shù)組的名稱傳遞給函數(shù)(類似于一維數(shù)組)。
#include <stdio.h>
void displayNumbers(int num[2][2]);
int main()
{
int num[2][2];
printf("輸入4個數(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個數(shù)字: 2 3 4 5 Displaying: 2 3 4 5
注意:在C語言編程中,可以將數(shù)組傳遞給函數(shù),但是,不能從函數(shù)返回數(shù)組。