C allows parameters to be passed from the operating system to the program when it starts executing through two parameters; argc and argv[], as follows:
#include <stdio.h>
main(int argc, char *argv[])
{
int n;
for(n = 0; n < argc; n++)
printf("\nParameter %d equals %s",n,argv[n]);
}
Parameter argc holds the number of parameters passed to the program, and the array argv[] holds the addresses of each parameter passed.
argv[0] is always the program name.
There is also a third parameter you can pass to main():
envp. This is a pointer to a list of environment variables that we want the program to be aware of. More on this
here.