Pass Arrays to Function in C

Pass arrays to functions in c programming language; In this tutorial, i am going to show you how to pass single and multidimensional arrays to a function in C programming with examples.

Pass Arrays to Function in C

There are two possible ways to pass array to function; as follow:

  • Passing array to function using call by value method
  • Passing array to function using call by reference
  • FAQ’s pass array to function in c
    • Passing a Multi-dimensional array to a function

Passing array to function using call by value method

To pass the value of an array while calling a function; this is called function call by value. See the example for passing an array to function using call by value; as follow:

#include<stdio.h>
void disArray(int a);
int main()
{
    int myArray[] = { 2, 3, 4, 5, 6 };
    disArray(myArray[3]);  //Passing array element myArray[2] only.
    return 0;
}
void disArray(int a)
{
    printf("%d", a);
}

Passing array to function using call by reference

To pass the address of an array while calling a function; this is called function call by reference. See the example for passing an array to function using call by reference; as follow:

#include<stdio.h>
void disArray(int *a)
{
    printf("The memory location of array is:- %d", a);
}
int main()
{
    int myArray[] = { 2, 3, 4, 5, 6 };
    disArray(&myArray[3]); //Passing array element myArray[2] only.
    return 0;
}

FAQ’s pass array to function in c

Passing a Multi-dimensional array to a function

You can see the following example to pass a multidimensional array to function as an argument in c programming; as follow:

#include<stdio.h>
void disArray(int arr[3][3]);
int main()
{
    int arr[3][3], i, j;
    printf("Please enter 9 numbers for the array: \n");
    for (i = 0; i < 3; ++i)
    {
        for (j = 0; j < 3; ++j)
        {    
            scanf("%d", &arr[i][j]);
        }
    }
    // passing the array as argument
    disArray(arr);
    return 0;
}
void disArray(int arr[3][3])
{
    int i, j;
    printf("The complete array is: \n");
    for (i = 0; i < 3; ++i)
    {
        // getting cursor to new line
        printf("\n");
        for (j = 0; j < 3; ++j)
        {       
            // \t is used to provide tab space
            printf("%d\t", arr[i][j]);
        }
    }
}

Be First to Comment

Leave a Reply

Your email address will not be published.