Listing 5 Shows that array parameters are pointers

/* array5.c: Arrays as parameters */

#include <stdio.h>

void f(int b[], size_t n)
{
    int i;
    
    puts("\n*** Entering function f() ***");
    printf("b == %p\n",b);
    printf("sizeof(b) == %d\n",sizeof(b));
     for (i = 0; i < n; ++i)
       printf("%d ",b[i]);
    b[2] = 99;
    puts("\n*** Leaving function f() ***\n");
}

main()
{
    int i;
    int a[] = {0,1,2,3,4};
    size_t n = sizeof a / sizeof a[0];
    
    printf("a == %p\n",a);
    printf("sizeof(a) == %d\n",sizeof(a));
    f(a,n);
    for (i = 0; i < n; ++i)
       printf("%d ",a[i]);
    return 0;
}

/* Output
a == FFEC
sizeof(a) == 10

*** Entering function f() ***
b == FFEC
sizeof(b) == 2
0 1 2 3 4
*** Leaving function f() ***

0 1 99 3 4
*/

/* End of File */