DOMANDA Dubbio Sui Puntatori C++

Birkhoff92

Utente Attivo
239
21
CPU
I7 Intel 4870 HQ
HDD
512 ssd
RAM
16GB
GPU
NVIDIA GT 7500 M 2GB
Audio
REALTEK
OS
MacOs Sierra 10.12.4
salve, vorrei sapere una cosuccia: quando scrivo
int x=20;
int*px=NULL;
px=&x;
cout<<*px<<endl;
perchè se sostituisco *px=x mi smette di funzionare il programma ? Cioè perchè non si pò scrivere *px=x oppure *px=&x? grazie e scusate se la domanda è stupida
 

Roberto_Trevigiani

Nuovo Utente
68
17
L'operatore di deferenziazione ( * ) si applica ad un puntatore e restituisce l'oggetto puntato. Quando scrivi *px=x, stai deferenziando il puntatore, accedendo al dato puntato, e gli stai cercando di asseganre un valore. Bisognerebbe scrivere px=&x, infatti così, si sta assegnando al puntatore px l'indirizzo della variabile x; invece,in questo modo: *px=x, stai cercando di assegnare al dato puntato da px, il valore contenuto in x.
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili