Difference between main and main()
===

The following code 1 is fine

    #include <stdio.h>    // code 1
    main()
    {
        printf("%u",main);
    }

but this code 2 gives segmentation fault.

    #include <stdio.h>  // code 2
    main()
    {
        printf("%u",main());
    }

I'm not getting what's the difference between main and main()?