Nel primo caso, stai printando una stringa non terminata: nel C le stringhe sono puntatori a sequenze di caratteri (char) terminate da un NULL o \0 (il carattere con indice 0, da non confondere con il carattere '0', che ha indice 48 nella tabella ASCII). Nel tuo caso il puntatore punta a un singolo carattere, seguito da altri byte indefiniti, e dunque printf cercherà altri caratteri finché non troverà uno \0.
Nel secondo caso il puntatore pp ha lo stesso valore del primo, e dunque punta al primo carattere della stringa "ciao". printf printerà caratteri finché non troverà uno \0 (che si trova dopo la 'o').
Ultima modifica effettuata da ZioCrocifisso il 06/03/2013 alle 18:48 |