title: About Pointers To Functions in function declarations
body: <pre><code>#include&lt;stdio.h&gt;
  #include&lt;stdlib.h&gt;
  
  int fun1()
  {
      printf("I am fun1.");
      return 0;
  }
  
  int fun2(int fun())
  {
      fun();
      return 0;
  }
  
  int main()
  {
      fun2(fun1);
      return 0;
  }
  </code></pre>
  
  <p>The above program can run. As far as I am concerned, I can understand <code>int fun2(int (*fun)())</code>, but I do not know how <code>int fun2(int fun())</code> works.  Thank you.</p>