Function and Array in C
In this tutorial, we will learn about function and array in the C programming language like how to pass and use and one dimension and multi-dimension array in C program.
Example
In this tutorial, we will learn about function and array in the C programming language like how to pass and use and one dimension and multi-dimension array in C program.
One-Dimension Array and Function in C
While passing arrays as arguments to the function, only the name of the array is passed
#include <stdio.h>
float average(float number[])
{
int i;
float avg, sum = 0.0;
for (i = 0; i < 6; ++i) {
sum += age[i];
}
avg = (sum / 6);
return avg;
}
int main()
{
float avg, number[] = { 23.4, 55, 22.6, 3, 40.5, 18 };
avg = average(number); // Only name of array is passed as argument.
printf("Average age=%.2f", avg);
return 0;
}
Two-Dimension Array and Function in C
When dimensions available globally we can pass two dimension array and use it similar to one dimension array.
Example
#include <stdio.h>
const int M = 3;
const int N = 3;
void print(int arr[M][N])
{
int i, j;
for (i = 0; i < M; i++)
for (j = 0; j < N; j++)
printf("%d ", arr[i][j]);
}
int main()
{
int arr[M][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
print(arr);
return 0;
}
But when dimensions are not available globally then we have to use a pointer in order to pass an array to a function in c.Example
#include <stdio.h>
void print(int *arr, int m, int n)
{
int i, j;
for (i = 0; i < m; i++)
for (j = 0; j < n; j++)
printf("%d ", *((arr+i*n) + j));
}
int main()
{
int arr[][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int m = 3, n = 3;
print((int *)arr, m, n);
return 0;
}
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Comments
Post a Comment