8-2 main函数返回给谁?

main函数是程序的入口,其返回值传递给调用它的父进程,通常表示程序执行的成功与否。在Linux中,一个程序的执行本质上是新进程的创建,main函数的返回值为父进程提供子进程执行状态的反馈。可以通过shell脚本验证main函数的返回值,使用$?获取上一个程序的执行结果。

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

8.2.1 函数为什么需要返回值?

(1)函数在设计的时候设计了参数和返回值,参数是函数的输入,返回值是函数的输出。
(2)因为函数需要对外输出数据(实际上是函数运行的一些结果值),因此需要返回值。
(3)形式上来说,函数被另一个函数所调用,返回值作为函数式的值返回给调用这个函数的地方。
总结:函数的返回值就是给调用它的人返回一个值。

8.2.2 main函数被谁调用

(1)main函数是特殊的,首先这个名字是特殊的。因为C语言规定了main函数是整个程序的入口。其它的函数只有直接或间接被main函数所调用才能被执行,如果没有被main直接/间接调用则这个函数在整个程序中无用。
(2)main函授从某种角度来讲代表了我当前这个程序,或者说代表了整个程序。main函数的开始意味着整个程序开始执行,main函数的结束返回意味着整个程序的结束。
(3)谁执行了这个程序,谁就调用了main。
(4)谁执行了程序呢?或者说程序有哪几种被调用执行的方法?

8.2.3 Linux下一个新程序执行的本质

(1)表面来看,Linux中命令行中去./xxx执行一个可执行程序;
(2)我们还可以通过shell脚本来调用执行一个程序;
(3)我们还可以在程序中去调用执行一个程序(fork exec);
总结:我们有多种方法都可以执行一个程序,但是本质上是相同的。Linux中一个新程序的执行本质上是一个进程的创建、加载、运行、消亡。Linux中执行一个程序其实就是创建一个新进程然后把这个程序丢进这个进程中去执行直到结束。进程是被谁开启呢?在Linux中进程都是被它的父进程fork出来的。
分析:命令行本身就是一个进程,在命令行底下去./xxx执行一个程序,其实这个新程序是作为命令行进程的一个子程序去执行的。
总之一句话:一个程序被它的父进程所调用。
结论:main函数返回给调用这个函数的父进程。父进程要这个返回值干嘛呢?父进程调用子进程来执行一个任务,然后子进程执行完后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非主流的豆瓣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值