わかりました、このコードで行った次のコメントを知りたいです。ありがとうございました、
void visit(tree_t *t){
printf("%c ", t->e + 'A'); // why t->e + 'A', and not just t->e?
}
void tree_preorder(tree_t *t, void (*visit)(tree_t *)){ // i just don't know the parameter void (*visit)(tree_t *). what exactly is (*visit)(tree_t *)?
if (!t) return; // what's the condition (!t)?
visit(t);
tree_preorder(t->l, visit);
tree_preorder(t->r, visit);
}