Dubbio puntatori

di il
6 risposte

Dubbio puntatori

Salve a tutti , in giro ho trovato questo:


(char*)&x

Ma cos'è?

6 Risposte

  • Re: Dubbio puntatori

    Puntatore x riferimentro.
    http://www.codeguru.com/cpp/cpp/cpp_mfc/pointers/article.php/c4089/PointertoPointer-and-ReferencetoPointer.htm
  • Re: Dubbio puntatori

    Scusa nel frattempo stavo ricercando su internet anche io, e ho visto che è una casting esplicito, può essere?
  • Re: Dubbio puntatori

    Ciao dna_programmer
    suppoiniamo che la dichiarazione di x sia:
    
    int x;
    
    Supponiamo che ti serva un puntatore a questa variabile, scrivi:
    
    int* p = &x;
    
    l' operatore '&' restituisce l' indirizzo di x e lo mette in p. Dato che x è di tipo int p deve essere di tipo int*.
    A questo punto la puoi usare in questo modo:
    
    *p = 5;  // scrive 5 nella variabile x
    
    Se poi ti servisse di fare un cast esplicito verso char* scriveresti:
    
    char* c = (char*)p;
    
    Questo si può fare in un colpo solo:
    
    char* c = (char*)&x;
    
  • Re: Dubbio puntatori

    A ok quindi sarebbe l'assegnazione di un indirizzo di una variabile(x),a un puntatore di diverso tipo e quindi si esegue il cast
  • Re: Dubbio puntatori

    Giusto.
    Comunque l' esempio che abbiamo fatto era solo un esempio, la conversione da int* a char* non ha molto senso.
  • Re: Dubbio puntatori

    Ok grazie
Devi accedere o registrarti per scrivere nel forum
6 risposte