 <p>There is no reason to use a global variable, you can declare the variable in the main() then give a reference to that variable to the functions that use it</p> <pre><code>bool load(node** root, const char* dictionary); bool check(node* root, const char* word); int main() { node* root = NULL; load(&amp;root, dictionary); ... if ( check(node,word) ) { ... } } </code></pre>