Elenet.net
0 voti
quesito posto 26 Maggio 2017 in Tecnologie e Prog. di Sistemi Informatici e Tlc da Anto.Cannizzaro (39 punti)
  

1 Risposta

0 voti
I puntatori sono variabili che contengono l'indirizzo di memoria di un'altra variabile
Un puntatore è una variabile che contiene l'indirizzo di memoria di
un altra variabile , di una funzione oppure di un'area di memoria.
Il termine puntatore vuol dire che il valore della variabile puntatore
punta o fa riferimento ad una zona della memoria. */


#include <stdio.h>

int main(int argc, char** argv)
{
    int intero;   // intero è una variabile
    int *puntat; // abbiamo dichiarato la la variabile puntat che  conterrà una zona di memoria dove si trova un intero ,  per dichiararlo abbiamo usato il simbolo *

*puntat      è un intero
puntat       è la variabile che contiene l'indirizzo  di *puntat
 puntat = &intero;   // il simbolo & davanti ad una variabile
                      // restituisce l'indirizzo di memoria della variabile
                     // la variabile puntat conterrà l'indirizzzo di   memoria,

mentre *puntat è il contenuto
                   // di questo indirizzo
                  Si possono definire puntatori ad ogni tipo di dato

ad esempio  una busta ha un contenuto e un indirizzo
il contenuto della busta lo chiamo *busta
risposta inviata 28 Maggio 2017 da Laura Guccione Corsista (149 punti)
per chiarire meglio i concetti esegui e studia il seguente esercizio
#include <iostream>
using namespace std;
int main(int argc, char **argv)
{
    int* xx;
    int* xx2;
    int intero1, intero2;
   
    double* numero1;
    double* numero2;
    double raggio;
   
    cout<<" inserisci numero intero  ";
    cin>>intero1;
   
    xx = &intero1;   // xx e' un puntatore ad un intero
                     // e con xx = &intero1;  assegnamo a xx l'indirizzo
                      // del numero intero
   
    cout<<" l indirizzo di "<<intero1<<"  = "<<xx;
   
    /* ********************************************** */
   
    // se volessi stampare il contenuto di un indirizzo
   
    cout <<" \n il contenuto dell'indirizzo "<<xx <<" e' uguale a "<<*xx;
   
    //con *xx indico una variabile  , mentre xx e' l'indirizzo di questa
    // variabile
   
    cout<<" \n inserisci un secondo numero intero ";
    cin>>intero2;
    xx2 = &intero2;
                       
     cout<<" \n l'indirizzo di "<< intero2 <<"   =  "<<xx2;
      
    *xx2 = 78;  // *xx2 è una variabile intera a cui assegno
                       // un valore 78
                       // cambio il contenuto all'indirizzo xx2
                       
     cout<<" \n l'indirizzo di "<< intero2 <<"   =  "<<xx2;
     
     /*   con i numeri double  */
   
    raggio = 4.7;
    numero1 = &raggio;
    numero2 = numero1;  // assegno l'indirizzo numero1 a numero 2
                        // così entrambi hanno lo stesso indirizzo
   
    raggio = 7.8;
    cout<<"\n il contenuto dell'indirizzo di raggio "<<numero1;
    cout<<"\n il contenuto del secondo indirizzo di raggio "<<numero2;
    cout<<"\n l'indirizzo di raggio cioe numero1 c'e' il valore "<<*numero1;
    cout<<"\n l'indirizzo di raggio cioe numero2 c'e' il valore "<<*numero2;

  
   

    return 0;
}

Domande correlate

778 domande
1,565 risposte
639 commenti
1,445 utenti