1、为什么需要操作系统
可以理解操作系统是管理层,应用软件就是民工,操作系统是服务提供方,策略的定制着,资源的调配方,应用软件就是具体工作的执行着。比如很小的程序是不必要使用操作系统,不让就大材小用了,其实所有的大小程序都可以不使用操作系统,直接裸机。如果是一个有几百万行的代码的程序就一个main函数搞定?你想这样也没人拦你,估计也只有你一个人单肩作战了,无法协作编程?日后维护应该也抓狂吧。譬如:一个10人左右小公司其实可以不需要太多的管理者,甚至没有管理人员也没有问题的,大家一起干活。小作坊嘛,多一人干活多一份里。随着公司的壮大成百人公司,那必须有明确的分工协作了,一部分人专门做管理的,决策者,资源的调配者。操作系统就是这样的一个角色,管理庞大的进程,对有限资源的合理调配。
2、如何获取main的返回值,返回值是给谁?
为什么main有返回值,main函数是被谁调用。main函数是程序的入口,同一个程序里任何函数最终都被main直接或者间接的调用,main函数也会被调度他的程序(进程)调用。例如我们在linux命令行通过./xxx执行程序,其实命令行就是一个进程,这个进程调用了main函数然后执行。理所当然main函数的返回值也是返回给这个进程了。通过返回值,调用他的进程就可以判断这个程序是否被成功执行。大家都知道main函数的返回值是int类型的,是否可以把main的返回值改为其他的?如:float类可以不可以?答案是不可以的,因为都是被设置好了的。调用进程只能接受int的类型的数值,否则返回结果不正确。
2.1获取main函数的返回值
方法:通过shell脚本调用main函数, ./xxx 执行程序 echo $?打印返回值。
3、认识main函数传参
3.1执行结果:
4、void类型的本质
4.1 c语言是强类型语言,所以所有的变量都要固定明确的类型,每个变量固定的内存占用数,有固定的解析方法。弱类型语言就没有类型这个概念所以的变量就一个类型(一般都是字符串的),程序在用的时候再根据需要来处理变量。
4.2数据类型的本质含义