title: How to dereference a double void pointer to an int pointer
body: <p>I have a code that looks somewhat like this:</p>
  
  <pre><code>int num = 5;
  int *ptr = &amp;num;
  void **xptr = &amp;ptr;
  printf ("values:%d\n",**(int *)xptr); 
  </code></pre>
  
  <p>Why can't i de-reference a void double pointer,which points to an int pointer ? The below two 
  examples work.</p>
  
  <p>Snippet:1 </p>
  
  <pre><code>int *ptr = &amp;num;
  int **xptr = &amp;ptr;
  printf ("values:%d\n",**xptr);
  </code></pre>
  
  <p>Snippet 2:</p>
  
  <pre><code>void *ptr = &amp;num;
  printf ("values:%d\n",*(int *)ptr);
  </code></pre>