function to check if word matches search word
I don't know C, my code is not tested.

Having whitespace at the end of lines of code is really annoying to work with.
I'm not a fan of if without curvy brackets. I have previously been bitten by adding another expression in the if and neglecting to add the brackets.
I would much prefer using break over while (whileFlag).
I would much prefer using return ... over returnFlag.
By changing the above we can change the do while loop to just a while (true) loop.
If you've followed along with the changes we can see that searchNode will be null when we want to break from the loop. And so we can remove the inner ifs by moving them to the while.

bool check(const char *word)
{
    int nodeIdx = hash(word);
    if (nodeIdx &lt; 0)
    {
        return false;
    }

    nodeWords * searchNode;
    searchNode = nodeArray[nodeIdx];

    while (searchNode != NULL)
    {
        if (strcmp(word, searchNode-&gt;word) == 0 )
        {
            return true;
        }
        else if (strcmp(word, searchNode-&gt;word) &lt; 0 )
        {
            searchNode = searchNode-&gt;left;
        }else{
            searchNode = searchNode-&gt;right;
        }
    }
    return false;
}