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

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;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值