View Full Version : array di strutture
salve
ho un problema con questo codice
#include<stdio.h>
struct datiLoc
{
int acctNum;
char nome[10];
};
struct datiLoc ordina[10];
main()
{
ordina[1].acctNum=1245; //questo funziona
ordina[1].nome="ciao";
}
ordina[1].nome="ciao" --> quando compilo mi dice che" left operand must be l-value" come mai? non posso assegnare una stringa ?
grazie
[edit]
se faccio questo dovrebbe funzionare?
strcpy(ordina[1].nome,parola);
Fenomeno85
15-05-2005, 11:54
l'assegnazione la puoi fare solo in case di dichiarazione
~§~ Sempre E Solo Lei ~§~
Fenomeno85
15-05-2005, 11:55
ah per strcopy se la parola è una stringa con terminatore /0 allora va bene
~§~ Sempre E Solo Lei ~§~
l'assegnazione la puoi fare solo in case di dichiarazione
~§~ Sempre E Solo Lei ~§~
perchè????
allora come faccio assegnare in quel campo una stringa, oltre a strcpy e scanf ?
Fenomeno85
15-05-2005, 13:04
perchè????
allora come faccio assegnare in quel campo una stringa, oltre a strcpy e scanf ?
le strutture di solito non vengono mai inizializzate con valori uguali per tutti, se lo vuoi fare basta farti una funzione che associ a tutti i campi un determinato valore. fget puoi utilizzare se son stringhe
~§~ Sempre E Solo Lei ~§~
le strutture di solito non vengono mai inizializzate con valori uguali per tutti, se lo vuoi fare basta farti una funzione che associ a tutti i campi un determinato valore. fget puoi utilizzare se son stringhe
~§~ Sempre E Solo Lei ~§~
infatti non inizializzo tutte
ordina[1].nome="ciao" // assegno la stringa al campo nome della seconda struttura e non di tutte.
fammi un esempio di fget che non ho voglia di cercare :)
Ziosilvio
15-05-2005, 15:34
ordina[1].nome="ciao" --> quando compilo mi dice che" left operand must be l-value" come mai? non posso assegnare una stringa ?
ordina[1].nome è un array, quindi non puoi cambiargli valore, quindi non puoi metterlo a sinistra di un operatore di assegnazione.
se faccio questo dovrebbe funzionare?
strcpy(ordina[1].nome,parola);
Sì, quello funziona, perche quando lo passi a strcpy, ordina[1].nome viene convertito da array di char a puntatore a char.
Devi usare strcpy per cambiare il calore di una stringa...
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.