PDA

Visualizza la versione completa : [c] anomalia dichiarazione stringhe : )


Lucked
19-05-2004, 01:53
Come mai errore se faccio:

char stringa_sorg[100];

stringa_sorg = "Luca e' il pi bello del mondo";


mentre corretto se faccio:

char stringa_sorg[100] = "Luca e' il pi bello del mondo";





--------------------------?????????-----------------------------------

m@ximo
19-05-2004, 10:10
II caso = Inizializzazione di array, corretto!

I caso = Stai copiando una stringa in un'altra e in questo caso devi usare strcpy(char* s1, const char* s2);

;)

Fox82
19-05-2004, 10:14
Perch quando inizializzi la stringa nel modo seguente

char stringa[] = "xxx";

allochi della memoria per il vettore (la dimensione se la inizializzi puoi tralasciarla)

Tieni conto che stringa equivalente ad un char*, con la sola differenza che non puoi cambiare la locazione di memoria a cui punta, cosa che faresti con la dichiarazione

stringa = "yyy";

Esistono funzioni (come strcpy) che copiano una stringa in un altra, che (penso) accedono ai singoli caratteri della stringa.

:ciauz:

Loading