Counting unival subtrees
The one red flag is uTreeCount. This should not be a global, and in fact it is easy to rephrase your countUnivSubT to be fully re-entrant: have it return an integer, and do addition within the body, something like
unsigned countUnivSubT(stTree *Node)
{
    unsigned int uTreeCount = isTreeUniv(Node);

    if (Node-&gt;left)
        uTreeCount += countUnivSubT(Node-&gt;left);

    if (Node-&gt;right)
        uTreeCout += countUnivSubT(Node-&gt;right);

    return uTreeCount;
}

That said, you have an inner null check, so this can actually reduce to
unsigned countUnivSubT(stTree *Node)
{
    if (!Node) return 0;
 
    return isTreeUniv(Node)
        + countUnivSubT(Node-&gt;left)
        + countUnivSubT(Node-&gt;right);
}