title: C function pointer syntax
body: <p>Normally, when declaring some variable, you put its type before it, like:</p>
  <pre><code>int a;
  </code></pre>
  <p>a function pointer may have type like: <code>int(*)(int,int)</code>, in case we point to a function that takes two integers and returns an integer. But, when declaring such a pointer, its identifier is not after the type, like:</p>
  <pre><code>int(*)(int,int) mypointer;
  </code></pre>
  <p>instead, you must write the identifier in the middle:</p>
  <pre><code>int(*mypointer)(int,int);
  </code></pre>
  <p>why is this so?</p>