0% found this document useful (0 votes)
104 views4 pages

Pass Arrays To A Function in C

This document discusses how to pass arrays as arguments to functions in C programming. It provides examples of passing both one-dimensional and multi-dimensional arrays. For one-dimensional arrays, the entire array name or individual elements can be passed. For multi-dimensional arrays, the entire array name is passed. When defining the function, brackets are included after the parameter name to indicate an array is being passed.

Uploaded by

Harshit Naik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
104 views4 pages

Pass Arrays To A Function in C

This document discusses how to pass arrays as arguments to functions in C programming. It provides examples of passing both one-dimensional and multi-dimensional arrays. For one-dimensional arrays, the entire array name or individual elements can be passed. For multi-dimensional arrays, the entire array name is passed. When defining the function, brackets are included after the parameter name to indicate an array is being passed.

Uploaded by

Harshit Naik
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

programiz.

com

Pass arrays to a function in C

4-5 minutes

In this tutorial, you'll learn to pass arrays (both one-dimensional and


multidimensional arrays) to a function in C programming with the
help of examples.

In C programming, you can pass an entire array to functions.


Before we learn that, let's see how you can pass individual
elements of an array to functions.

Pass Individual Array Elements

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};

// pass second and third elements to display()


display(ageArray[1], ageArray[2]);
return 0;
}

Output

8
4
Here, we have passed array parameters to the display()
function in the same way we pass variables to a function.

// pass second and third elements to display()


display(ageArray[1], ageArray[2]);

We can see this in the function definition, where the function


parameters are individual variables:

void display(int age1, int age2) {


// code
}

Example 2: Pass Arrays to Functions

// Program to calculate the sum of array elements


by passing to a function

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

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

// num array is passed to calculateSum()


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).

Example 3: Pass two-dimensional arrays

#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]);
}
}

// pass 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]);
}
}
}

Output

Enter 4 numbers:
2
3
4
5
Displaying:
2
3
4
5

Notice the parameter int num[2][2] in the function prototype


and function definition:

// function prototype
void displayNumbers(int num[2][2]);

This signifies that the function takes a two-dimensional array as an


argument. We can also pass arrays with more than 2 dimensions
as a function argument.

When passing two-dimensional arrays, it is not mandatory to


specify the number of rows in the array. However, the number of
columns should always be specified.

For example,

void displayNumbers(int num[][2]) {


// code
}

Note: In C programming, you can pass arrays to functions,


however, you cannot return arrays from functions.

You might also like