C语言中main函数后的argc argv的作用

很多人都遇到过int main(int argc, char **argv) 这种形式的main函数开头,那么这个到底有什么作用呢?

假如我们写了一个程序:

#include<stdio.h>

int main(int argc, char* argv[])
{
	printf("%d\n", argc);
	printf("hello!");
	return 0;
}

编译并生成可执行文件后

C语言中main函数后的argc argv的作用

如图,当我们在Powershell窗口打开程序ConsoleApplication的时候

C语言中main函数后的argc argv的作用

可以看出差别来  而那个argv[],就是字符串数组,里面每一个元素都是一个字符串,在上例,就是haha