大家都知道c语言中的函数定义是由返回值类型+函数名(其实就是函数代码地址)+参数列表组成的,我最近在看uboot的源码,对函数定义有了“入口”+“出口”的一些概念,可能有所纰漏,现记录下来,后面再补充。
函数的入口:我认为函数调用的时候参数被调用者传递有效数值,也就是函数传参这个动作为函数的入口。函数如果被调用,只会传参一次,也就是函数的入口是唯一的,都是从函数参数列表开始的。
函数的出口:函数有几个出口也就是函数从哪里返回的,也就是有几个“return 值”,如果只有一个return值(无返回函数,可以理解函数最后有唯一的return ;)那么就只有一个出口,如果有多个return 返回值,也就是函数根据传参不同数值可能从其中某一个返回,也就是有多个出口。
举个类比:函数被调用的过程就像不同大小的小球一根水管中流动的道理一样,大小不一的小球代表不同参数数值,都是从水管一端流入的,也就是说都是经过一次传参。如果水管只有一个出口那么不同小球都从这一个出口流出。如果水管有多个不同直径大小的出口,那么不同直径的小球从不同的出口流出。
C语言函数入口与出口解析

被折叠的 条评论
为什么被折叠?



