What is the difference between sizeof(foo) and sizeof(foo()) where foo is any simple function.
In gcc (4.7.2)
I am getting sizeof(fun) = 1 and sizeof(fun()) = 4.
Earlier I perceived that foo is stored as a pointer in symbol table. Can someone explain why I am getting 1 in first case and 4 in other ?
#include<stdio.h>
int fun(){
int a=1,b=4,x=5;
printf("hi\n");
}
int main(){
printf("%d",sizeof(fun()));
}