#include <stdio.h>

/* ------------------------
   Structure definition
   ------------------------ */
struct Array
{
   int a[10];
};


extern void update( struct Array x );


int main(int argc, char *argv[])
{
   struct Array a;
   int    i;

   for ( i = 0; i < 10; i++ )
      a.a[i] = i;

   printf("Before calling update: ");
   for ( i = 0; i < 10; i++ )
      printf("%d ", a.a[i]);
   putchar('\n');

   update (a);    // Demonstrate that struct is passed-by-value

   printf("AFTER  calling update: ");
   for ( i = 0; i < 10; i++ )
      printf("%d ", a.a[i]);
   putchar('\n');
}