
***************
Listing 1
/*
BY                  :         PETE UPCZAK

COMMENTS            :         COMPILED UNDER BORLAND INTERNATIONAL`S     
                              TURBO C, V2.0.
*/
#include <stdio.h>
#include <stdlib.h>
void new_array_name(char *array_copy[])
   {

   /*info on array in main()) referenced by different name */

   printf("the value returned by 'array_copy' is %xh\n", array_copy);
   printf("the value returned by 'sizeof(array_copy)' is %d\n", 
       sizeof(array_copy) );

   return;

   }

void main ()
   {
   static char *message[] = {    /* the object in question */
       "aaaa",
       "bbbb",
       };

void new_array_name (char *[]);

     /* info on array element 1 */
     printf("the value returned by '&message[1]' is %xh\n", 
       &message[1]); 
     printf("the value returned by 'message + 1)' is %xh\n", 
           (message + 1) );
     printf("the value returned by '*(message + 1)' is %xh\n", 
           *(message + 1));
     printf("the value returned by 'message[1]' is %xh\n", 
           message[1] );
     printf("sizeof(*(message + 1)) is %d\n", sizeof(*(message + 
           1)) );
     printf("sizeof(message[1]) is %d\n", sizeof(message[1]) );
     printf("%s, %s\n\n", message [1], *(message + 1) );

   /* info on array element 0 */

     printf("the value returned by '&message[0]' is %xh\n", 
           &message[0] );
     printf("the value returned by 'message' is %xh\n", 
           message );
     printf("the value returned by 'message [0]' is %xh\n", 
           message [0]);
     printf("the value returned by *message' is %xh\n", 
           *message);
     printf("sizeof(*message) is %d\n", sizeof(*message) );
     printf("sizeof(message) is %d\n", sizeof(message[0]) );
     printf("%s, %s\n\n", message[0], *message );

     /* info on the copy of the array name */
     
     new_array_name(message);

     /* info on the array name itself */

     printf("sizeof(&message[0]) is %d\n", sizeof(&message[0]) );
     printf("sizeof(message) is %d\n", sizeof(message) );

     }

**************
OUTPUT FROM PROGRAM:

the value returned by '&message[1]' is 196h
the value returned by '(message + 1)' is 196h
the value returned by '*(message + 1)' is 1FBh
the value returned by 'message[1]' is 1FBh
sizeof(*message + 1)) is 2
sizeof(message[1]) is 2
bbbbb, bbbbb

the value returned by '&message[0]' is 194h
the value returned by 'message' is 194h
the value returned by 'message[0]' is 1F5h
the value returned by '*message' is 1F5h
sizeof(*message) is 2
sizeof(message[0]) is 2
aaaaa, aaaaa

the value returned by 'array_copy' is 194h
the value returned by 'sizeof(array_copy)' is 2
sizeof(&message[0]) is 2 
sizeof(message) is 4 

********

