C++ 中 实参值赋给形参变量的过程 和 函数运行结果返回主调函数 的过程

C++函数调用过程中,实参值通过栈区传递给形参变量,遵循从右向左压栈、后进先出的原则。在函数执行完成后,返回值同样经栈区返回给主调函数。这一过程涉及进程切换和内存管理,特别是栈区在数据传递中的作用。
实参值赋给形参变量的过程

    计算机在运行时,内存中有一块特定的内存区域,称作栈区。栈区由操作系统统一调度管理,主要用途之一是用于“进程切换时各进程之间的数据传递”。
    进程切换是指系统暂时停止当前程序段的执行而切换到另一个程序段去执行。C++中函数调用时,先要从主调函数切换到被调函数传递实参,然后在被调用函数执行完毕以后,要从被调用函数切换到主调函数,并通过栈区向主调用函数传递返回值。
    C++函数调用时,系统首先按照“从右向左”的顺序将主调函数提供的实参值压入堆栈中,然后进入函数调用进程。进入被调用函数之后,系统首先为包括形参变量在内的变量分配内存,然后从栈区中按照“后进先出”顺序将实参值取回,存入是参变量中。


函数运行结果返回主调函数的过程

   函数返回值得传递,也是通过栈区实现。被调用函数执行到return语句时,系统将返回值表达式的值压入栈区的特定位置,然后释放被调用函数的动态存储变量,结束被调用函数进程,返回主调用函数。在主调函数进程被接续的同时,系统从栈区中将返回值返回给主调函数。


上面关于进程的说法可能又问题,存疑。

待添加程序存储区的相关内容。

参考《C++ 面向对象程序设计教程》
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值