- main函数在很多方面都比较特别,其中最重要的是每个C++程序必须含有main函数,且main函数是(唯一)被操作系统显式调用的函数。
- 返回值类型必须和函数的返回类型相同,或者可以转换成函数的返回类型。
- 在大多数系统中,main函数的返回值是一个状态指示器。
int main(){
return 0;
}
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:/WINDOWS/system32/kernel32.dll', no matching symbolic information found.
The thread 0xFF0 has exited with code 0 (0x0).
The program 'C:/LS/20110410main/Debug/20110410main.exe' has exited with code 0 (0x0).
int main(){
return -1;
}
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:/WINDOWS/system32/kernel32.dll', no matching symbolic information found.
The thread 0x918 has exited with code -1 (0xFFFFFFFF).
The program 'C:/LS/20110410main/Debug/20110410main.exe' has exited with code -1 (0xFFFFFFFF).
- 访问main函数的返回值的方式和系统有关
C:/ls/20110410main>echo %errorlevel%
0
- 我们通常要给main函数传递实参。传统上,主函数的实参是可选的,用来确定程序要执行的操作。
int main(int argc,char *argv[]){
return 0;
}
int main(int argc,char **argv){
return 0;
}
第二个形参argv是一个C风格字符串数组。第一个形参argc则用于传递该数组中字符串的个数。
当将实参传递给主函数main时,argv中的第一个字符串(如果有的话)通常是程序的名字。