C语言笔记 第三十三课 main函数与命令行参数

本文深入探讨了C语言中main函数的角色与特性,包括其作为程序入口点的重要性,不同编译器支持的main函数原型,参数及返回值的含义,以及GCC编译器的特殊用法。理解这些概念对于掌握C程序的执行流程至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第三十三课 main函数与命令行参数

main函数的概念

C语言中main函数称之为主函数
一个C程序是从main函数开始执行的
下面的main函数定义正确吗?四个都正确
在这里插入图片描述
33-1 main函数的原型究竟是什么

main函数的本质

main函数是操作系统调用的函数
操作系统总是将main函数作为应用程序的开始
操作系统将main函数的返回值作为程序的退出状态
思考:为什么C编译器支持那么多不同的main函数原型?
商业编译器:宝兰的BCC,微软的VC,GUN的gcc,TI公司的
33-2 main函数的返回值

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

变量
argc------>4
argv[0]------>gcc
argv[1]------>a.c
argv[2]------>b.c
argv[3]------>c.c

33-3 main函数的参数

小技巧

面试中的小问题:main函数一定是程序执行的第一个函数吗?
gcc里有属性关键字,所以不一定是第一个,VC支持,bcc里没有,所以是第一个函数

33-4 gcc中的属性关键字

#ifndef GNUC //gcc里面的属性关键字
#define attribute(x)
#endif

FUNCTION // gcc扩展出来的宏
小结
一个C程序是从main函数开始执行的
main函数是操作系统调用的函数
main函数有参数和返回值
现代编译器支持在main函数前调用其他函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值