您的位置:首页 > 编程语言 > C语言/C++

C语言学习笔记20——main函数和命令行参数

2018-03-01 10:10 253 查看

main函数的本质

C语言中main函数称之为主函数

一个C程序是从main函数开始执行的

main函数是操作系统调用的函数

操作系统总是将main函数作为应用程序的开始

操作系统将main函数的返回值作为程序的退出状态

下面的 main 函数定义都正确吗?

A.
main()
{

}

B.
void main()
{

}

C.
int main()
{

}

D.
int main()
{
return 0;
}

编译运行后, ABCD都未报错


问:
为什么C编译器支持这么多不同的 main 函数原型?

答:
各编译器厂商为了更好的推广编译器, 使得编译器兼容了一些不规范的写法。正确的main函数原型为 D


main函数的参数

程序执行时可以向main函数传递参数

————————————————————
int main()
int main(int argc)
int main(int argc, char* argv[])
int main(int argc, char* argv[], char* env[])
argc —— 命令行参数个数

argv —— 命令行参数数组

env —— 环境变量数组

gcc编译器的常见用法:

gcc a.c b.c c.c-
argc4
argv[0]gcc
argv[1]a.c
argv[2]b.c
argv[3]c.c
/* 测试代码 */

#include <stdio.h>

int main(int argc, char* argv[], char* env[])
{
int i = 0;

for(i=0; i<argc; i++)
{
printf("%s\n", argv[i]);
}

printf("\n\n\n");

for(i=0; env[i]!=NULL; i++)
{
printf("%s\n", env[i]);
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息