[bglug] Domanda C
Alessandro Pasta
bglug@lists.linux.it
Sat, 1 Feb 2003 12:45:41 +0100
> - niente nomi riservati, es. for, if (alcuni linguaggi consentono certi
> tipi di identificatori riservati a tuo rischio e pericolo)
> - il primo carattere deve essere una lettera o un underscore: quindi
> niente 12ciao ma puoi fare _ciao
> - case sensitive, quindi Ciao != ciao != CIAO
> - gli identificatori possono avere una lunghezza qualsiasi ma solo i
> primi 31 caratteri sono significativi (può dipendere
> dall'implementazione ma in genere è cosi).
> - niente spazi nei nomi di variabili
tutte le regole nella definizione sono rispettate...
a parte l'underscore all'inizio del nome.
Il listato è questo:
typedef struct Automobile
{
char CasaProduttrice[l_CasaProduttrice];
char Modello[l_Modello];
char Versione[l_Versione];
char PrezzoBase[l_PrezzoBase];
struct DotazioniSerie *DotazioniSerieTesta;
struct DotazioniOptional *DotazioniOptionalTesta;
struct Automobile *Next;
int FiltroCasaProduttrice;
int FiltroModello;
}Automobile;
typedef struct DotazioniSerie
{
char DotazioniSerie[l_DotazioniSerie];
struct DotazioniSerie *Next;
}DotazioniSerie;
typedef struct DotazioniOptional
{
char DotazioniOptional[l_DotazioniOptional];
char PrezzoDotazioniOptional[l_PrezzoDotazioniOptional];
struct DotazioniOptional *Next;
int FiltroOptional; //Flag di selezione per filtrare l'output (0= non
selezionato)
}DotazioniOptional;
[cut]
int main()
Automobile *PuntatoreAuto;
Automobile *TestaAuto=NULL;
DotazioniSerie *PuntatoreSerie;
DotazioniSerie *TestaSerie=NULL;
DotazioniOptional *PuntatoreOptional;
DotazioniOptional *TestaOptional=NULL;
Il compilatore mi dà errore sulla definizione delle variabili puntatori di
tipo Doatzioni... e non su Automobile.
L'errore è "Cant define a variable type" o qualcosa del genere (ora non
ricordo bene)
Cmq ho provato a cambiare tutte le dotazioni... in dotazion (cancellato la
i) e il compilatore non dava più problemi.
Ora secondo voi e verificata la mia ipotesi che il compilatore riconosca le
sole prime 8 lettere del nome varibile o ci sono altri problemi?
Grazie mille
Ciao
Alessandro Pasta
ales.pasta@galactica.it
"Ciao sono Pastus e reco il bastus
del sapere mio che è vastus"