Pass Arrays to Function in C

Pass Arrays to Function in C

Pass arrays to functions in c programming; Through this tutorial, you will learn how to pass single and multidimensional arrays to a function in C programming with the help of 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]);
        }
    }
}

AuthorAdmin

My name is Devendra Dode. I am a full-stack developer, entrepreneur, and owner of Tutsmake.com. I like writing tutorials and tips that can help other developers. I share tutorials of PHP, Python, Javascript, JQuery, Laravel, Livewire, Codeigniter, Node JS, Express JS, Vue JS, Angular JS, React Js, MySQL, MongoDB, REST APIs, Windows, Xampp, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL and Bootstrap from a starting stage. As well as demo example.

Leave a Reply

Your email address will not be published. Required fields are marked *