I tried to get the memory content of the address pointed by the function names [both abc() and main()], but both printf() inside a function give same output, although I dereference the address pointed by the function name in the second printf() inside each function. Why is that? Why the memory addresses are printed by \*(abc) and \*(main) instead of the contents?

```
   #include<stdio.h>

    void abc(){

            printf("\n%p \n ", abc);
            printf("\n%#x\n ",*(abc));

    }

    void main(){

            abc();
            printf("\n%p \n ", main);
            printf("\n%#x\n ",*(main));
    }

```