title: How to declare function pointer parameter
body: <p>What is the difference between these 2 declarations:</p>
  
  <pre><code>double math_operation(double x, double (*func)(double));
  double math_operation(double x, double func(double));
  </code></pre>
  
  <p>They both seem to work with the same exact call in GCC:</p>
  
  <pre><code>math_operation(2.0, sqrt);
  </code></pre>
  
  <p>Is it just syntactic sugar or is there more to it?</p>