>16
free_nodeのところを埋めればいいの?

void free_node(node_t *p)
{
if(p==NULL) return;
free_node(p->left);
free_node(p->right);
free(p);
}