title: Accessing the parent of a node's parent in a binary tree
body: <p>I have a binary search tree struct like this:</p>
  
  <pre><code>typedef struct Tree{
      long int key;
      struct Tree *left, *right, *parent;
  
  }Tree;
  </code></pre>
  
  <p>I'm using a pointer (parent) to keep track of the node's parent.</p>
  
  <p>After insert some nodes, I'm having some troubles.</p>
  
  <p>The result tree is:</p>
  
  <pre>
      3
   /     \
  1       11
   \     / 
    2   8
  </pre>
  
  <pre>
  when I try to access (8)->parent, I get 11... that's right.
  
  When I try to access (11)->parent, I get 3... all good.
  
  But if I try (8)->parent->parent the result is <b>NOT</b> 3
  </pre>
  
  <p>Does anyone have any clues why it is not giving the node 3?</p>