title: char ** and dereferencing pointers
body: <p>I would like to end my confusion with the <code>char **</code></p>
  
  <p>When once creates an array of character arrays(strings) how does <code>char **</code> actually accomplish this?</p>
  
  <p>i get that <code>char *</code> is a pointer to a char and that <code>char *array[]</code> is an array of char pointers, but what exactly does <code>char **</code> do and how does it do it?</p>
  
  <p>Also when I hear the word dereferences it makes me think the pointer is removed what exactly does dereference a pointer mean? Changing the value that the pointer points to?</p>
  
  <p>Thanks</p>