title: Complex C declaration
body: <p>I was just going through some code on the Internet and found this:</p>
  
  <pre><code>float * (*(*foo())[SIZE][SIZE])()
  </code></pre>
  
  <p>How do I read this declaration? Is there a specific set of rules for reading such complex declarations?</p>