Date le seguenti dichiarazioni:
- Codice:
char *s="a";
char v[]="a";
Non riesco a capire il perché la seguente stringa di codice funzioni perfettamente v[0]='K'
quindi data v[]={'a','\0'} lo faccio diventare v[]={'K','\0'}
mentre se prendo il puntatore s alla stringa {'a','\0'} e scrivo s[0]='K' mi da errore in fase di esecuzione.
Ovviamente 'K' è un carattere generico. Il professore ha giustificando ciò dicedo che:
char *s="a"; genera un puntatore ad una "stringa costante". Che significa stringa costante ? In memoria non dovrebbe essere rappresentato come un vettore del tipo {'a','\0'} dove s punta alla "testa" di questo vettore?
Vi ringrazio in anticipo!!