What does int argc, char *argv[] mean in C/C++?


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.

Updated on: 24-Jun-2020

6K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements