#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 are * add, & add, add the same? I also doubt that the โaddโ act as an array, correct me if I am mistaken, because the address of the array and the array itself.
source share