Technically there is no difference between int main() and int main(void). In both the cases we can not have any parameter but recommended practice is to use void when there is no command line parameter. Check the following list of parameters passed to the main function.
1. int main ( void ) /* No argument and You have to mention void */
2. int main ( int argc, char *argv[] ) /* Two argument -
argc: argument count,
argv: contains the list of parameters */
3. int main ( int argc, char *argv[], char **env ) /* Three argument -
argc: argument count,
argv: contains the list of parameters
env: environment variables */