If a function name is a pointer to itself, why is the function name with & operator also an address of the function? Is it not the address of pointer to the function?
 void f(int a);
    // ....
    void(*P)(int)=&f;
    P(2); // why(*p)(2) is also correct?
