title: what is the meaning of a double pointer of struct in C
body: <p>I have a problem understanding this structure , would love to get a clear explanation.</p>
  
  <pre><code>typedef struct exp{
     int x;
     struct exp *parent;
     struct exp **children;
  }
  </code></pre>
  
  <p>what does it mean the parent and the children ?
  "parent" is an array of this structure?
  and what is the meaning of the children ? it's an array of arrays?!
  I really can't understand..</p>
  
  <p>and last thing, If I'm adding an element , it becomes a specific child of some parent, how can I reach all the children of a parent? shouldn't it be a structure "List" (using next etc .. ? )?</p>
  
  <p>thank you!!</p>