If I was creating this simple binary tree I would create my structure like so
struct tree_el
{
int *val;
struct tree_el *right;
struct tree_el *left;
};
With an int pointer...That way you can test if the pointer exists with a simple statement like
struct tree_el *root = (struct tree_el *)malloc(sizeof(struct tree_el));
if (root->val)
{
}