With argc (argument count) and argv (argument vector) you can get the number and the values of passed arguments when your application has been launched.
This way you can use parameters (such as -version) when your application is started to act a different way.
But you can also use int main(void) as a prototype in C.
There is a third (less known and nonstandard) prototype with a third argument which is envp. It contains environment variables.
Resources:
- Wikipedia - Main function, C and C++