View Full Version : [C]Domanda dichiarazione stringhe
darksun84x
19-06-2008, 10:39
Salve a tutti ,
Volevo chiedere che differenza c'e' tra la dichiarazione di questa stringa
char * stringa = "prova";
e queste altre due
char stringa[]="prova";
char stringa[10]="prova";
Grazie per l'attenzione
ilsensine
19-06-2008, 15:04
char * stringa = "prova";
Qui stringa è un puntatore, che viene "accidentalmente" inizializzato alla stinga costante "prova".
Nota che questa forma anche se accettata dai compilatori non è propriamente corretta; dovrebbe essere const char *stringa = "prova"
char stringa[]="prova";
Questa non è una dichiarazione di puntatore, ma di array.
Lo spazio per la stringa viene allocato sullo stack e inizializzato a "prova".
Anche se qui "stringa" è simile a un puntatore, non può essere modificato (prova stringa++ e otterrai un errore).
char stringa[10]="prova";
Come il caso precedente, ma vengono allocati esattamente 10 char (anche se "prova" ne richiede meno).
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.