C语言函数的嵌套调用

学习C语言的过程中我们会遇到许多的难题,我个人感觉C语言中函数是我们遇到的第一个难题。C语言函数可以从不同的角度来进行分类,比如从函数定义的角度分可以分为库函数和用户函数;从函数返回角度来进行分类,可以分为无返回值函数和有返回值函数;从函数传递的角度分,可以分为无参数函数和有参数函数。从函数的作用来说,函数是实现一定功能的子程序,它是C语言源程序的基本模块,用来表示模块化程序设计中的各个功能模块。在程序设计时规划与设计合理的函数可以使整个程序结构清晰,容易调试和维护。C语言函数的调用时其中的一个难点.
C语言函数的嵌套调用是函数的调用中一个难懂的点,C语言不允许一个函数定义在另一个函数之中,即不允许函数嵌套定义,所有的函数在程序书写上处于平等关系。但是C语言允许函数之间的嵌套调用,所谓嵌套调用就是指函数max4调用函数max2,而函数max2又调用函数c。在这里插入图片描述(图片是网上找的)从图我们可以知道函数开始执行的是main()函数开头的部分,当遇到函数调用语句,就会调用函数max4函数,流程就会转向max4函数的入口。然后它就开始执行max4函数的前面一部分,然后又遇到函数调用语句,就会调用函数max2函数,然后开始执行函数max2,当执行完函数max2之后,就会返回到函数max4中函数调用语句的下一行继续执行函数max4,执行完函数max4之后就会返回到main函数执行主函数中调用函数max4函数的下一行。然后继续执行mian函数的下半部分直到函数执行结束。所以我们从这个函数的执行步骤可以看出,函数max2是最后执行的,但是函数max2是第一个执行完毕的。所以我们利用好函数的嵌套调用可以解决很多问题。但是函数的嵌套调用最多可以嵌套多少层呢,根据我在网上查阅的资料,函数可以嵌套多少层是由程序运行时一个名为“栈”的数据结构所决定的,一般而言,Windows上程序的默认大小是8kb,每一次函数调用至少占用8个字节,因此大概可以算出函数调用只能嵌套1000层。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值