DemonEdge,
'void main()' specifies that the main function does not return any value.
'int main()' specifies that main fn returns an integer value at the end of the function to the Operating system.
IF you use int main , you should use a 'return' function at the end along with an integer value. Thou it is not compulsory to use a return statement, you will be specified with the warning during compilation.
The reason behind using int main and return is to specify the OS that the program executed successfully. The OS assumes that program executed successfully only by knowing the return value of the function. So a 'return 0' value indicates successful execution. anyother integer value than 0 indicates there's been problem with the problem.