home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / listings / v_08_11 / 8n11100a < prev    next >
Text File  |  1990-10-02  |  3KB  |  99 lines

  1.  
  2. ***************
  3. Listing 1
  4. /*
  5. BY                  :         PETE UPCZAK
  6.  
  7. COMMENTS            :         COMPILED UNDER BORLAND INTERNATIONAL`S     
  8.                               TURBO C, V2.0.
  9. */
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12. void new_array_name(char *array_copy[])
  13.    {
  14.  
  15.    /*info on array in main()) referenced by different name */
  16.  
  17.    printf("the value returned by 'array_copy' is %xh\n", array_copy);
  18.    printf("the value returned by 'sizeof(array_copy)' is %d\n", 
  19.        sizeof(array_copy) );
  20.  
  21.    return;
  22.  
  23.    }
  24.  
  25. void main ()
  26.    {
  27.    static char *message[] = {    /* the object in question */
  28.        "aaaa",
  29.        "bbbb",
  30.        };
  31.  
  32. void new_array_name (char *[]);
  33.  
  34.      /* info on array element 1 */
  35.      printf("the value returned by '&message[1]' is %xh\n", 
  36.        &message[1]); 
  37.      printf("the value returned by 'message + 1)' is %xh\n", 
  38.            (message + 1) );
  39.      printf("the value returned by '*(message + 1)' is %xh\n", 
  40.            *(message + 1));
  41.      printf("the value returned by 'message[1]' is %xh\n", 
  42.            message[1] );
  43.      printf("sizeof(*(message + 1)) is %d\n", sizeof(*(message + 
  44.            1)) );
  45.      printf("sizeof(message[1]) is %d\n", sizeof(message[1]) );
  46.      printf("%s, %s\n\n", message [1], *(message + 1) );
  47.  
  48.    /* info on array element 0 */
  49.  
  50.      printf("the value returned by '&message[0]' is %xh\n", 
  51.            &message[0] );
  52.      printf("the value returned by 'message' is %xh\n", 
  53.            message );
  54.      printf("the value returned by 'message [0]' is %xh\n", 
  55.            message [0]);
  56.      printf("the value returned by *message' is %xh\n", 
  57.            *message);
  58.      printf("sizeof(*message) is %d\n", sizeof(*message) );
  59.      printf("sizeof(message) is %d\n", sizeof(message[0]) );
  60.      printf("%s, %s\n\n", message[0], *message );
  61.  
  62.      /* info on the copy of the array name */
  63.      
  64.      new_array_name(message);
  65.  
  66.      /* info on the array name itself */
  67.  
  68.      printf("sizeof(&message[0]) is %d\n", sizeof(&message[0]) );
  69.      printf("sizeof(message) is %d\n", sizeof(message) );
  70.  
  71.      }
  72.  
  73. **************
  74. OUTPUT FROM PROGRAM:
  75.  
  76. the value returned by '&message[1]' is 196h
  77. the value returned by '(message + 1)' is 196h
  78. the value returned by '*(message + 1)' is 1FBh
  79. the value returned by 'message[1]' is 1FBh
  80. sizeof(*message + 1)) is 2
  81. sizeof(message[1]) is 2
  82. bbbbb, bbbbb
  83.  
  84. the value returned by '&message[0]' is 194h
  85. the value returned by 'message' is 194h
  86. the value returned by 'message[0]' is 1F5h
  87. the value returned by '*message' is 1F5h
  88. sizeof(*message) is 2
  89. sizeof(message[0]) is 2
  90. aaaaa, aaaaa
  91.  
  92. the value returned by 'array_copy' is 194h
  93. the value returned by 'sizeof(array_copy)' is 2
  94. sizeof(&message[0]) is 2 
  95. sizeof(message) is 4 
  96.  
  97. ********
  98.  
  99.