home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / sampcode / qc_prog / chap08 / pointer.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-04-05  |  2.1 KB  |  68 lines

  1. /* pointer.c  --  demonstrates pointer declaration,   */
  2. /*                assignment, and use                 */
  3.  
  4. #define WAIT printf("(press any key)"); getch(); \
  5.              printf("\n\n")
  6.  
  7. main()
  8. {
  9.     int num, *address_var;
  10.  
  11.     num = 0;
  12.     address_var = #
  13.  
  14.     printf("The address of the variable ");
  15.     printf("\"num\" is:  0x%04X\n", &num );
  16.     printf("The value in the pointer ");
  17.     printf("\"address_var\" is:  0x%04X\n", address_var);
  18.     printf("The value in the variable ");
  19.     printf("\"num\" is: %d\n", num );
  20.     WAIT;
  21.     printf("Since \"address_var\" points to \"num\"\n");
  22.     printf("the value in ");
  23.     printf("\"*address_var\" is: %d\n", *address_var);
  24.     WAIT;
  25.     printf("To verify this, let's store 3 in\n");
  26.     printf("\"*address_var\", then print out ");
  27.     printf("\"num\" and \"*address_var\"\n");
  28.     printf("again.\n");
  29.     WAIT;
  30.  
  31.     printf("Doing: *address_var = 3;\n\n");
  32.     *address_var = 3;
  33.  
  34.     printf("The address of the variable ");
  35.     printf("\"num\" is:  0x%04X\n", &num);
  36.     printf("The value in the pointer ");
  37.     printf("\"address_var\" is:  0x%04X\n", address_var);
  38.     printf("The value in the variable ");
  39.     printf("\"num\" is: %d\n", num);
  40.     WAIT;
  41.     printf("Since \"address_var\" points to \"num\"\n");
  42.     printf("the value in ");
  43.     printf("\"*address_var\" is: %d\n", *address_var);
  44.     WAIT;
  45.  
  46.     printf("Now we will add 15 to \"num\" and print\n");
  47.     printf("\"num\" and \"*address_var\" again.\n");
  48.     WAIT;
  49.  
  50.     printf("Doing: num += 15;\n\n");
  51.     num += 15;
  52.  
  53.     printf("The address of the variable ");
  54.     printf("\"num\" is:  0x%04X\n", &num);
  55.     printf("The value in the pointer ");
  56.     printf("\"address_var\" is:  0x%04X\n", address_var);
  57.     printf("The value in the variable ");
  58.     printf("\"num\" is: %d\n", num);
  59.     WAIT;
  60.     printf("Since \"address_var\" points to \"num\"\n");
  61.     printf("the value in ");
  62.     printf("\"*address_var\" is: %d\n", *address_var);
  63.     WAIT;
  64.  
  65.     printf("Doing: return (*address_var);\n\n");
  66.     return (*address_var);
  67. }
  68.