*****Listing 2*****

#include <stdio.h>

void f(long [][5]);

main()
{
        static long a[3][5] = {
                { 1, 2, 3, 4, 5},
                { 6, 7, 8, 9,10},
                {11,12,13,14,15}
        };

        f(a);
}

void f(long a[][5])
{
        printf("a[0][2] = %2d\n", a[0][2]);
        printf("a[1][0] = %2d\n", a[1][0]);
        printf("a[2][4] = %2d\n", a[2][4]);

        printf("sizeof(long)    = %lu\n",
                (unsigned long)sizeof(long));
        printf("sizeof(long *)  = %lu\n",
                (unsigned long)sizeof(long *));
        printf("sizeof(a)       = %lu\n",
                (unsigned long)sizeof(a));
        printf("sizeof(*a)      = %lu\n",
                (unsigned long)sizeof(*a));
}

a[0][2] =  3
a[1][0] =  6
a[2][4] = 15
sizeof(long)    = 4
sizeof(long *)  = 2
sizeof(a)       = 2
sizeof(*a)      = 20

