在本教程中,您將學(xué)習(xí)通過示例將數(shù)組(一維和多維數(shù)組)傳遞給C語言編程中的函數(shù)的方法。
在C語言編程中,您可以將整個(gè)數(shù)組傳遞給函數(shù)。在了解這一點(diǎn)之前,讓我們看看如何將數(shù)組的各個(gè)元素傳遞給函數(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}; //將第二個(gè)和第三個(gè)元素傳遞給display() display(ageArray[1], ageArray[2]); return 0; }
輸出結(jié)果
8 4
//程序通過傳遞給函數(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ù)組)。
#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ù)組。