Ciao , per la prima volta sto utilizzando le strutture per avviarmi successivamente all'allocazione dinamica. Sto cercando di fare questo esercizio che contiene informazioni anagrafiche di persone (cognome, nome, data di nascita, indirizzo di residenza), per comprendere bene questo argomento. Al momento della compilazione mi dice:
"|43|error: storage size of 'struttura' isn't known|".
Potreste aiutarmi a trovare l'errore? Non riesco a venirne a capo !
codice:
#include <stdio.h>
#include <stdlib.h>
#define INF 30
typedef struct
{
int giorno;
int mese;
int anno;
} nascita;
typedef struct
{
char via[INF];
int num;
char pos [5];
char citta[INF];
char prov[2];
} indirizzo;
typedef struct
{
char cognome[INF];
char nome[INF];
nascita data;
indirizzo residenza;
} anagrafica;
anagrafica Sanag;
int main(){
struct Sanag struttura;
printf("***INFORMAZIONE ANAGRAFICHE***\n");
printf("\n Inserisci nome:\n");
gets(struttura.nome);
printf("Inserisci cognome:\n");
gets(struttura.cognome);
printf("I dati utente sono:\n");
printf("%s %s", struttura.nome, struttura.cognome);
printf("\nInserisci giorno:\n");
scanf("%d", struttura.data.giorno);
printf("Inserisci mese:\n");
scanf("%d", struttura.data.mese);
printf("Inserisci anno:\n");
scanf("%d", struttura.data.anno);
printf("I dati utenti sono:\n");
printf("%d/%d/%d", struttura.data.giorno, struttura.data.mese, struttura.data.anno);
printf("\nInserisci via:\n");
gets(struttura.residenza.via);
printf("\nInserisci numero civico:\n");
scanf("%d", struttura.residenza.num);
printf("\nInserisci codice postale:\n");
gets(struttura.residenza.pos);
printf("\nInserisci citta':\n");
gets(struttura.residenza.citta);
printf("\nInserisci provincia:\n");
gets(struttura.residenza.prov);
printf("%s\n%d\n%s\n%s\n%s", struttura.residenza.via , struttura.residenza.num, struttura.residenza.pos, struttura.residenza.citta, struttura.residenza.prov);
return 0;
system("pause");
}