#include <stdio.h>
int add(int a, int b)
{
int c =a+b;
return c;
}
int main()
{
int a=20,b=45;
int (*p)(int , int);
p=&add;
printf("%d\n%d\n%d\n\n",*add,&add,add);
printf("%d\n%d\n%d\n\n",*add+1,&add+1,add+1);
return 0;
}
Outupt is
4199392 4199392 4199392
4199393 4199393 4199393
So why the *add, &add, add are same? I also doubt that 'add' act like an array, correct me if I am wrong, because, address of array and array itself are same.