Memoria

Pivot1
Salve a tutti
Chi mi aiuta con questo esercizio sulla memoria? Non so da dove cominciare. :roll:

1)Rappresentare la memoria nei tre punti indicati nel frammento di sorgente seguente:

int *p = NULL;
int a = 100;
______________qui
p = &a;
______________qui
p++;
______________qui


Grazie a tutti.

Risposte
Gummitch1
"Pivot":
int *p = NULL;
int a = 100;
p = &a;

Qui assegni a p l'indirizzo di a
"Pivot":
p++;

Qui incrementi p, che quindi punterà all'indirizzo successivo a quello di a.

df2
ci provo pur io:

int *p = NULL;
int a = 100;
______________qui : per il momento hai una variabile 'a' e un puntatore 'p' ad un intero , che non punta a nessun dato specifico
p = &a;
______________qui: a rimane uguale a 100, mentre a p assegni l'indirizzo di a e quindi *p è proprio il valore di a ovvero 100
p++;
______________qui: hai incrementato il puntatore , quindi punti alla parola di memoria successiva, p ora punta a dati sconosciuti, quindi non sai quanto vale *p, a rimane 100


spero di averti aiutato, ciao

Pivot1
Credo che questo sia il commento di ciò che fa il frammento di codice. Ma come faccio a rappresentare la memoria nei punti indicati?

df2
si quelli cono i commenti di ciò che accade.
vuoi una rappresentazione grafica con uno schema?
in tal caso te lo posso fare con paint

vict85
Questi esercizi sono utili ma in realtà è una cosa più teorica che pratica perché alla fine quello che decide il comportamento finale del programma è il compilatore...

Pivot1
No ho capito come viene l'esercizio.
Ringrazio tutti per le risposte. Alla prossima 8-)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.