View Full Version : [C]puntatori...
Ma non si può fare *p++ per incrementare il valore puntato dal puntatore?
Ho dovuto fare *p+=1 altrimenti dava valori "non plausibili", è normale?
Ma non si può fare *p++ per incrementare il valore puntato dal puntatore?
Ho dovuto fare *p+=1 altrimenti dava valori "non plausibili", è normale?(*p)++
*p++ prende il contenuto puntato da p e poi incrementa p.
Ah quindi io stavo incrementando il puntatore e non il valore puntato giusto?
Ah quindi io stavo incrementando il puntatore e non il valore puntato giusto?Esatto.
ma cosa c'è di sbagliato in questo codice
int *pi;
*pi=10;
printf("%d", *pi);
Mi da un errore del tpo:Error while dumping state. Segmentation fault
int *pi;
*pi=10;
printf("%d", *pi);'pi' è un puntatore ma .... a cosa punta??? Infatti non è inizializzato.
bhe immagino che punti ad uno spazio di memoria in grado di contenere un int, o no?
come va inizializzato?
bhe immagino che punti ad uno spazio di memoria in grado di contenere un int, o no?
come va inizializzato?Una variabile "automatica" (di qualunque tipo) se non inizializzata contiene "immondizia" ...
Esempio:
int a;
int *pi = &a;
*pi=10;
printf("%d", *pi);
RaouL_BennetH
16-03-2007, 14:55
Una variabile "automatica" (di qualunque tipo) se non inizializzata contiene "immondizia" ...
Per immondizia intendi che in pratica non si sa assolutamente cosa si sta puntando?
Grazie.
RaouL.
Per immondizia intendi che in pratica non si sa assolutamente cosa si sta puntando?Non si sa cosa contiene la variabile. È allocata sullo stack ma se non viene inizializzata, il contenuto dipende da cosa c'è/c'era sullo stack.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.