Ma di quanto lo devo allocare il puntatore?
codice:#include <stdio.h> typedef struct { int nVoti; } Candidato; typedef struct { char nome[5]; Candidato * pCand; int nCand; int voti; /* numero voti ottenuti dalla lista */ } Lista; typedef struct { char data[11]; int consiglieri; Lista * pListe; int nListe; /* numero di liste presentate */ } Elezioni; void Input (Elezioni *p) { int i,j; printf ("**** ELEZIONI *****\n\n"); printf ("Inserire la data delle elezioni: "); scanf ("%s", (*p).data); printf ("\nNumero di consiglieri da eleggere: "); scanf ("%d", (*p).consiglieri); printf ("\nInserire il numero di liste: "); scanf ("%d", (*p).nListe); for (i=0;i<(*p).nListe;i++) { printf ("\n\nLISTA[%d]: ", i+1); scanf ("%s ", (*p).pListe[i].nome); printf ("Voti: "); scanf ("%d ", (*p).pListe[i].voti); printf ("Numero di candidati: "); scanf ("%d", (*p).pListe[i].nCand); for(j=0;j<(*p).pListe[i].nCand;j++){ printf("\nVoti candidato n%d: ", j+1); scanf("%d", (*p).pListe[i].pCand[j].nVoti); }/*for annidato*/ }/*for esterno*/ }/*Input*/ int main () { Elezioni *pt; pt = (elezioni*)calloc(?,sizeof(elezioni)); // ? è da sostituire con una lunghezza che non so assert (pt!=NULL); Input (pt); return 1; } /* main */

Rispondi quotando