Salve a tutti, ho iniziato da poco a studiare il linguaggio c++ e ho un grosso dubbio sulle strutture e sulla keyword typedef. Mi spiego meglio, so che la sintassi per la struttura è:
stuct <NomeTipo>
{
<Tipo><NomeCampo>
//....................
<Tipo><NomeCampo>
} <NomeOggetto0>, ... , <NomeOggettoN>;
Quindi scrivere così:
struct Numero
{
int a;
float b;
}var1,var2;
oppure come segue, è la stessa identica cosa:
struct Numero
{
int a;
float b;
};
Numero var0, var1; // in C so che deve essere struct Numero var0, var1;
Il problema vi è quando utilizzo la keyword typedef su una struttura; la maggior parte degli esempi porta qualcosa di questo tipo:
typedef struct numero
{
int a;
float b;
}prova;
Solo che in questo caso "prova" non sarà una variabile di tipo struttura ma l'etichetta per questa struttura; di solito viene usata in C per scrivere al posto di
struct numero var1, var2;
una dichiarazione di questo tipo:
prova var1,var2;
Ora il mio dubbio sta nel fatto di voler dichiarare var1 e var2 così come facevo senza l'utilizzo di typedef, ma utilizzando typedef... cioè se io scrivo:
typedef struct numero
{
int a;
float b;
}var1,var2;
Cosa succede? creo due etichette? mi da errore? dichiaro le variabili? Come faccio ad assegnare l'etichetta e a dichiarare le variabili stesso all'interno della definizione della struttura?
Mi scuso per essere stata un po' confusionaria, spero che riusciate a capire il mio dubbio e vi ringrazio in anticipo per le future risposte.