#include <stdio.h>
#include <stdlib.h>

int main()
{
   // Assumi che siano gia' state dichiarate due variabili 
   // in virgola mobile n1 e n2, e che n1 sia stata inizializzata a 3,14
   float n1 = 3.14;
   float n2;
   
   //1. Dichiara fp che punti ad un tipo di dato float
   float * fp; 
   
   //2. Assegna l'indirizzo della variabile n1 a fp
   fp = & n1;
   
   //3. Visualizza il valore dell'oggetto puntato da fp 
   printf("Il valore di  *fp e' --> %f \n",  *fp );
   
   //4. Assegna a n2 il VALORE dell'oggetto puntato da fp 
   n2 = * fp;
   
   //5. Visualizza il valore di n2
   printf("Il valore di  n2 e' --> %f \n",  n2 );
   
   //6. Visualizza l'indirizzo di n1 (usare la printf con il parametro "%p") 
   printf("L'indirizzo di n1 e'  --> %p \n",  &n1 );
   
   //7. Visualizza l'indirizzo memorizzato in fp 
   printf("L'indirizzo memorizzato in fp e' --> %p \n",  fp );
   
   getchar();
   return 0 ;
}