|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2003
Messaggi: 572
|
[C++]Domanda sui puntatori (esercizio)
Codice:
int x=2, y=3, z=4; int *p, *q, **P, **Q; P=&p ; Q=P ; *P=q ; p=&x ; q=&y ; **P=z ; cout<< *p<<*q<<**P<<**Q ; b) stampa 4 4 4 4 c) stampa 4 3 3 4 d) stampa 4 3 4 4 P->p OK Q->P OK *P cioè dereferenzio ottenendo p=q cioè p prende l'R-valore di q che è un indirizzo indefinito. p-> ? p=&x (p punta a qualcosa di definito, non è più penzolante come prima) [...] Ecco ora io vorrei sapere se il programma è corretto o meno. Alla fine stampa 4 3 4 4 però c'è quell'assegnazione *P=q che per me è un errore. Ma è anche vero che l'errore è "corretto" subito dopo da p=&x e che alla fine stampa tranquillamente 4 3 4 4 (non ci sono dangling pointers o altro). Qual'è la risposta esatta? |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:30.