#include // c version of tree traverse. See also node.cc for elegant C++ node definition typedef struct node_s // real C { char * name; struct node_s *left; // we'd like node*, but not defined yet struct node_s *right; int value; //TRUE = 1 for the marked node} } node; // now we can declare nodes: void tree(node* branch) // inorder traverse of binary tree { if (branch) { tree(branch->left); puts ( branch-> name ); // write string AND trailing newline tree (branch->right); } } int main(){ node node2 = {"apple",0,0,0}; node node4 = {"plum",0,0,0}; node node3 = {"peach",0,&node4,1}; node root = {"orange",&node2, &node3,0}; /* has to come after subtree defs */ tree(&root); //& means "pass the ADDRESS" return 0; }