メモリの解放free()について
メモリ解放についての質問です。
下の関数をループで呼び出すとき、new_itemのメモリ解放free()はどのように行えば良いでしょうか?
typedef struct _ITEM
{
int n,m;
void *right;
} item;
int data()
{
int i,j,k;
int n,m;
item *new_item,*last_item;
for (i = 0; i <= M-1; i++) {
...
last_item = &(list[i]);
k = 0;
for (j = 0; j <= num-1; j++) {
/* making new item */
if ((new_item = (item*)malloc(sizeof(item))) == NULL) {
fprintf(stderr,"Can't allocate memory.\n");
exit(-1);
}
new_item->m = i;
new_item->n = k;
new_item->right = NULL;
last_item->right = new_item;
last_item = new_item;
}
}
}