JustPaste.it

#define SIZE 50
#define SSIZE 15

 

typedef struct player
{
char* fname;
char* lname;
char* ID;
int age;
}player;

 

typedef struct team
{
char* teamname;
player* players;
int n_players;
}team;

 

typedef struct league
{
team* teamarr;
int numofteams;
player arrplayers [SIZE];
int numofplayers ;
}league;

 

 

void freememory (league* ptr)
{
int i,j;

for ( i=0 ;i<(ptr->numofplayers);i++)
{
free(ptr->arrplayers[i].fname);
free(ptr->arrplayers[i].lname);
free(ptr->arrplayers[i].ID);
}

for (i=0;i<(ptr->numofteams);i++)
{
for(j=0;j<(ptr->teamarr[i].n_players);j++)
{
free(ptr->teamarr[i].players[j].fname);
free(ptr->teamarr[i].players[j].lname);
free(ptr->teamarr[i].players[j].ID);
}
}

for (i=0;i<(ptr->numofteams);i++)
{
free (ptr->teamarr[i].players);
free (ptr->teamarr[i].teamname);
}

 

free(ptr->teamarr); ---- השורה הבעייתית 
exit(1);

 

}

 

 

int main ()
{


league L1 ;

 

L1.numofplayers=0;
L1.numofteams=0;

 

freememory(&L1);


}

 

}