title: Function pointers, Closures, and Lambda
body: <p>I am just now learning about function pointers and, as I was reading the K&amp;R chapter on the subject, the first thing that hit me was, &quot;Hey, this is kinda like a closure.&quot; I knew this assumption is fundamentally wrong somehow and after a search online I didn't find really any analysis of this comparison.</p>
  <p>So why are C-style function pointers fundamentally different from closures or lambdas? As far as I can tell it has to do with the fact that the function pointer still points to a defined (named) function as opposed to the practice of anonymously defining the function.</p>
  <p>Why is passing a function to a function seen as more powerful in the second case, where it is unnamed, than the first where it is just a normal, everyday function that is being passed?</p>
  <p>Please tell me how and why I am wrong to compare the two so closely.</p>