title: Is there a difference between these two stuct-related declarations?
body: <p>I have the following structure</p>
  
  <pre><code>typedef struct _LSHFunctionT 
  {
      double *a;
      double b;
  } LSHFunctionT, *PLSHFunctionT;
  </code></pre>
  
  <p>My question is; is there a difference between these two declarations</p>
  
  <pre><code>PLSHFunctionT myPointer1;
  </code></pre>
  
  <p>and</p>
  
  <pre><code>LSHFunctionT *myPointer2;
  </code></pre>
  
  <p>and if not, then why do people explicitly use two of them (LSHFunctionT and *PLSHFunctionT). Why not just use LSHFunctionT.</p>
  
  <p>Does it go the same way for the following two declarations</p>
  
  <pre><code>PLSHFunctionT *myPointer3;
  </code></pre>
  
  <p>and</p>
  
  <pre><code>LSHFunctionT **myPointer3;
  </code></pre>