In C programming, you can pass an entire array to functions. Passing array elements to a function is similar to passing variables to a function.
Example 1: Pass Individual Array Elements
#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(ageArray[1], ageArray[2]); return 0;}
Here, we have passed array parameters to the display()
function in the same way we pass variables to a function.
We can see this in the function definition, where the function parameters are individual variables
Example 2: Pass Arrays to Functions
#include <stdio.h>float calculateSum(float num[]);int main() { float result, num[] = {23.4, 55, 22.6, 3, 40.5, 18}; result = calculateSum(num); printf("Result = %.2f", result); return 0;}float calculateSum(float num[]) { float sum = 0.0; for (int i = 0; i < 6; ++i) { sum += num[i]; } return sum;}
Output
Result = 162.50
To pass an entire array to a function, only the name of the array is passed as an argument.
result = calculateSum(num);
However, notice the use of []
in the function definition.
float calculateSum(float num[]) {... ..}
This informs the compiler that you are passing a one-dimensional array to the function.
Pass Multidimensional Arrays to a Function
To pass multidimensional arrays to a function, only the name of the array is passed to the function (similar to one-dimensional arrays).