title: What is the difference between Function Pointer vs Function Call?
body: <p>Hello Friends,<br>
  <a href="https://stackoverflow.com/questions/252748/how-to-use-array-of-function-pointers">How can I use an array of function pointers?</a><br>
  If we will see the above link, it tells us how function pointer works.<br>
  Now the question is why should I choose function pointer?<br>
  Why can't I use function call directly?<br>
  What are the benifits will I get with function pointer?<br>
  e.g</p>
  
  <pre><code>enum{a, b, c};
  void A();
  void B();
  void C();
  void (*fun[3])() = {A, B, C};
  
  Now when I need to call a function I am doing like,
  fun[a](); // This calls function A
  // And so on...
  </code></pre>
  
  <p>Same can be done in function calls also</p>
  
  <p>like when I need to call function A, B or C.
  directly I can right like</p>
  
  <pre><code>A();
  B();
  or 
  C();
  </code></pre>
  
  <p>Then why <code>function pointer</code>?</p>