💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 将数组传递给 C 中的函数 > 原文: [https://www.programiz.com/c-programming/c-arrays-functions](https://www.programiz.com/c-programming/c-arrays-functions) #### 在本教程中,您将学习通过示例将数组(一维和多维数组)传递给 C 编程中的函数的方法。 在 C 编程中,您可以将整个数组传递给函数。 在了解这一点之前,让我们看看如何将数组的各个元素传递给函数。 * * * ### 传递单个数组元素 将数组元素传递给函数类似于[将变量传递给函数](/c-programming/c-user-defined-functions "C Functions")。 * * * ### 示例 1:传递数组 ```c #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}; // Passing second and third elements to display() display(ageArray[1], ageArray[2]); return 0; } ``` **输出** ```c 8 4 ``` * * * ### 示例 2:将数组传递给函数 ```c // Program to calculate the sum of array elements by passing to a function #include <stdio.h> float calculateSum(float age[]); int main() { float result, age[] = {23.4, 55, 22.6, 3, 40.5, 18}; // age array is passed to calculateSum() result = calculateSum(age); printf("Result = %.2f", result); return 0; } float calculateSum(float age[]) { float sum = 0.0; for (int i = 0; i < 6; ++i) { sum += age[i]; } return sum; } ``` **输出** ```c Result = 162.50 ``` 要将整个数组传递给函数,仅将数组名作为参数传递。 ```c result = calculateSum(age); ``` 但是,请注意在函数定义中使用了`[]`。 ```c float calculateSum(float age[]) { ... .. } ``` 这将通知编译器您正在将一维数组传递给该函数。 * * * ## 将多维数组传递给函数 要将多维数组传递给函数,仅将数组的名称传递给函数(类似于一维数组)。 ### 示例 3:传递二维数组 ```c #include <stdio.h> void displayNumbers(int num[2][2]); int main() { int num[2][2]; printf("Enter 4 numbers:\n"); for (int i = 0; i < 2; ++i) for (int j = 0; j < 2; ++j) scanf("%d", &num[i][j]); // passing multi-dimensional array to a function 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]); } } } ``` **输出** ```c Enter 4 numbers: 2 3 4 5 Displaying: 2 3 4 5 ``` **注意**:在 C 编程中,可以将数组传递给函数,但是,不能从函数返回数组。