Ключевое слово "new" указывает на то, что это C ++.В C ++ конструкция struct TYPENAME в значительной степени устарела, вместо этого вы можете просто использовать TYPENAME.C-способ определения типа имени из именованной структуры неявно присутствует в C ++.
node* NewNode(int data)
{
node* pnode = new node;
pnode->data = data;
pnode->left = NULL;
pnode->right = NULL;
return(pnode);
}
должен работать просто отлично , если это C ++.Обратите внимание, что использование одного и того же имени для типа и переменной не очень хорошая идея.Некоторое соглашение об именах (венгерское или что-то еще) помогает.