Answer P1

a=77    *pa=77


#include <stdio.h>
int main( void )
{
  int  a ;
  int *pa ;
  
  a = 77 ;
  pa = &a ;
  
  printf("a=%d   *pa=%d\n", a, *pa );

  return 0;
}
pointer pa pointing to int a

The variable a is declared to be an integer variable. The variable pa is declared to potentially hold a pointer to an integer. But declaring the variable does not put any value in it. The name of the second variable does not include the asterisk; its name is pa

The variable a is assigned the value 77. Then pa is assigned the address of a. (Another way to say this is that pa is assigned a pointer to a.)

In the printf() statement, the first value printed comes directly from a. The second value is found by following the pointer in pa. (Another way to say this is that pa is dereferenced.)



Back to Puzzle Home