Codice: Seleziona tutto
char * const buffer1="blablabla";
oppure come un array :
Codice: Seleziona tutto
char buffer2[]="blablabla";
essendo un array equivalente ad un puntatore costante a dati variabili, cioè in cui non è possibile cambiare l'indirizzo a cui punta ma soltanto i valori "puntati".
Era tutto abbastanza chiaro, finchè un giorno non provai a fare :
Codice: Seleziona tutto
char *const s="bla bla";
char * ptr;
ptr = strtok(s," ");
Ottenendo un errore di segmentazione..Cosa che non accade se invece faccio:
Codice: Seleziona tutto
char s[]="bla bla";
char * ptr;
ptr = strtok(s," ");
Che differenza c'è tra la versione con il puntatore e quella con il vettore?