PDA

Visualizza la versione completa : Aiuto: cosa stampa a video?


signoresignori
18-01-2010, 19:25
Ciao a tutti . Volevo chiedere (per quanto riguarda il LINGUAGGIO C) se è lecito scrivere in questa precisa sequenza e perchè.

int* x;
int y = *x;
printf("%d\n",x);
printf("%d\n",y);

Inoltre che cosa stampa a video?

oregon
18-01-2010, 19:33
Originariamente inviato da signoresignori
Ciao a tutti . Volevo chiedere (per quanto riguarda il LINGUAGGIO C) se è lecito scrivere in questa precisa sequenza e perchè.

int* x;
int y = *x;
printf("%d\n",x);
printf("%d\n",y);

Inoltre che cosa stampa a video?

x è un puntatore ad intero non inizializzato, quindi il suo valore è casuale.

y è un intero a cui viene assegnato il valore puntato da x. E questo può causare un crash dell'applicazione dato che il valore del puntatore sarà, quasi sicuramente, non valido.

In seguito, se il crash non avviene (perchè casualmente il valore del puntatore è valido) vengono visualizzati il valore stesso del puntatore e il valore puntato.

Ma molti compilatori ti avviseranno che il puntatore non è inizializzato.

P.S. Fai attenzione al titolo dei tuoi thread ... leggi il regolamento

Loading