argc stands for argument count and argv stands for argument values. These are variables passed to the main function when it starts executing. When we run a program we can give arguments to that program like −
$ ./a.out hello
Example
Here hello is an argument to the executable. This can be accessed in your program. For example,
#include<iostream> using namespace std; int main(int argc, char** argv) { cout << "This program has " << argc << " arguments:" << endl; for (int i = 0; i < argc; ++i) { cout << argv[i] << endl; } return 0; }
When you compile and run this program like −
$ ./a.out hello people
Output
This will give the output −
This program has 3 arguments
C:\Users\user\Desktop\hello.exe hello people
Note that the first argument is always the location of the executable executing.