В вашем viewTree(node *tree)
вы не проверяете, является ли tree
значением null
или нет. Определенный рецепт для segfault, когда вы пытаетесь получить доступ к tree->id
, когда tree
равно null
.
null
будет передано для поддерева в рекурсивном вызове.
РЕДАКТИРОВАТЬ: Как правило, вы проверяете null
каждый раз, когда вам нужен доступ к члену объекта. Таким образом, tree != null
перед чтением tree->id
и tree->lchild != null
перед чтением tree->lchild->id
должны быть обеспечены.