main称为主函数,是C规范指定的编译器识别的默认程序入口。其余函数均由main函数或其它一般函数调用。
main函数可以是无参函数,也可以是有参函数。对于有参的形式来说,就需要向其传递参数。但其它任何函数都不能调用main函数。
C/C++语言中的main函数,经常带有参数argc,argv,如下:
int main(int argc, char** argv)
int main(int argc, char* argv[])
这两个参数的作用是什么呢? argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。
argc代表参数的数量, main()函数本身是在索引0为的第一参数。所以, argc总是至少为1。它的总数是从argv列阵的元素数目。
例如:
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
cout<<argc<<endl;
for(int i=0;i<argc;i++)
cout<<argv[i]<<" "; //argv[argc]一定为空指针,并且argc本身和argv指向的字符串都是可修改的。
//return 0; main函数可以没有return语句,当到达 } 字符后自动视为返回0。
}
1.若在编译器中直接编译运行,则输出为:
1
D:\ceshi\Debug\ceshi.exe
2.若在命令行下运行,首先进入D:\ceshi\Debug\目录,
运行命令ceshi.exe,输出
1
ceshi.exe
运行命令ceshi.exe 1 2 3,则输出
4
ceshi.exe 1 2 3
main函数可以是无参函数,也可以是有参函数。对于有参的形式来说,就需要向其传递参数。但其它任何函数都不能调用main函数。
C/C++语言中的main函数,经常带有参数argc,argv,如下:
int main(int argc, char** argv)
int main(int argc, char* argv[])
这两个参数的作用是什么呢? argc 是指命令行输入参数的个数,argv存储了所有的命令行参数。
argc代表参数的数量, main()函数本身是在索引0为的第一参数。所以, argc总是至少为1。它的总数是从argv列阵的元素数目。
例如:
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
cout<<argc<<endl;
for(int i=0;i<argc;i++)
cout<<argv[i]<<" "; //argv[argc]一定为空指针,并且argc本身和argv指向的字符串都是可修改的。
//return 0; main函数可以没有return语句,当到达 } 字符后自动视为返回0。
}
1.若在编译器中直接编译运行,则输出为:
1
D:\ceshi\Debug\ceshi.exe
2.若在命令行下运行,首先进入D:\ceshi\Debug\目录,
运行命令ceshi.exe,输出
1
ceshi.exe
运行命令ceshi.exe 1 2 3,则输出
4
ceshi.exe 1 2 3
当然后面也可加入自定义参数,这是传递就天花乱坠了。