实参值赋给形参变量的过程
计算机在运行时,内存中有一块特定的内存区域,称作栈区。栈区由操作系统统一调度管理,主要用途之一是用于“进程切换时各进程之间的数据传递”。
进程切换是指系统暂时停止当前程序段的执行而切换到另一个程序段去执行。C++中函数调用时,先要从主调函数切换到被调函数传递实参,然后在被调用函数执行完毕以后,要从被调用函数切换到主调函数,并通过栈区向主调用函数传递返回值。
C++函数调用时,系统首先按照“从右向左”的顺序将主调函数提供的实参值压入堆栈中,然后进入函数调用进程。进入被调用函数之后,系统首先为包括形参变量在内的变量分配内存,然后从栈区中按照“后进先出”顺序将实参值取回,存入是参变量中。
函数运行结果返回主调函数的过程
函数返回值得传递,也是通过栈区实现。被调用函数执行到return语句时,系统将返回值表达式的值压入栈区的特定位置,然后释放被调用函数的动态存储变量,结束被调用函数进程,返回主调用函数。在主调函数进程被接续的同时,系统从栈区中将返回值返回给主调函数。
上面关于进程的说法可能又问题,存疑。
待添加程序存储区的相关内容。
参考《C++ 面向对象程序设计教程》
C++函数调用过程中,实参值通过栈区传递给形参变量,遵循从右向左压栈、后进先出的原则。在函数执行完成后,返回值同样经栈区返回给主调函数。这一过程涉及进程切换和内存管理,特别是栈区在数据传递中的作用。
937

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



