Eccovi il programma:
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct classifica* classific;
struct classifica{
       char* squadra;
       int punti;
       classific succ;
       };

typedef struct punteggi* squadre;
struct punteggi{
       char* casa;
       char* ospite;
       int goalc;
       int goalo;
       squadre next;
       };       
squadre inseriscicoda(squadre il, char* casa, char* ospite, int goalc, int goalo,classific classi);   
void creapunteggio(squadre il,classific classi); 
void stampasquadre(squadre il);   

int main(int argc, char *argv[])
{
  squadre il; classific classi;
  il=NULL; classi=NULL;
  char* squadra; char* squadradue; int goal; int goaldue; squadra=malloc(sizeof(char)*256); squadradue=malloc(sizeof(char)*256);
  FILE* fp;
  fp=fopen("squadre.txt","r");
  if(fp==NULL){
    printf("Errore nell'aperture del file\n"); return 0;}
  while(!feof(fp))
  {
    fscanf(fp,"%256[^ ] %256[^ ] %d %d\n",squadra,squadradue,&goal,&goaldue);
    il=inseriscicoda(il,squadra,squadradue,goal,goaldue,classi);
    if (il==NULL)
    {
      il=malloc(sizeof(struct punteggi));il->next=NULL;                                       
      il->casa=malloc(sizeof(char)*256); il->ospite=malloc(sizeof(char)*256);
      strcpy(il->casa,squadra); strcpy(il->ospite,squadradue); il->goalc=goal; il->goalo=goaldue;
      crepunteggio(il,classi);
      }
    } 
    stampasquadre(il);
  system("PAUSE");	
  return 0;
}

squadre inseriscicoda(squadre il, char* casa, char* ospite, int goalc, int goalo,classific classi)
{
  if(il==NULL) return il;
  squadre t=il;
  while(t->next!=NULL) t=t->next;
  squadre nuovo; nuovo=malloc(sizeof(struct punteggi)); nuovo->next=NULL;
  nuovo->casa=malloc(sizeof(char)*256); nuovo->ospite=malloc(sizeof(char)*256);
  strcpy(nuovo->casa,casa);strcpy(nuovo->ospite,ospite);nuovo->goalc=goalc;nuovo->goalo=goalo;
  creapunteggio(nuovo,classi);
  t->next=nuovo; 
  return il;}

void creapunteggio(squadre il,classific classi)
{
     classific t=classi;
     if (t==NULL) t=malloc(sizeof(struct classifica));
     }
       
     
  
void stampasquadre(squadre il)
{
 while(il!=NULL){
  printf("%s->%s->%d->%d\n",il->casa,il->ospite,il->goalc,il->goalo);
  il=il->next;}}
Il problema sta nella funzione creapunteggio, il compilatore mi dice "undefined reference to "creapunteggio". Come mai?