riporto il codice che ho utilizzato per deallocare la lista LS e la matrice dinamica membro della struttura di tipo Word membro della lista.
codice:
#include <stdio.h>
#include <stdlib.h>
typedef struct _word {
char word[SIZE_WRD];
char **tabS;
unsigned int len_wrd;
unsigned int num_syll;
unsigned int occurrences;
} Word;
/*Puntatore a strutura*/
typedef struct _LS{
Word found;
struct _LS *nextPt;
} LS;
typedef LS *LS_PT;
/*elimino tutti i nodi della lista*/
void delList (LS_PT root){
LS_PT temp = NULL;
while (root){
temp = root;
freeMatr (temp->found.tabS, temp->found.num_syll);
free(temp);
root = root->nextPt;
}
return;
}
/*disalloco matrice*/
void freeMatr (char **matrix, int len){
int i;
for (i = 0; i < len; i++) free(matrix[i]);
free(matrix);
return;
}
sempre che il problema sia qui...