学习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层。
09-17
2135
07-15
933
07-14
2812