binary tree implementation in c