关于 C 语言 return 的底层通俗理解与解释
📅 2026/7/10 14:30:45
👁️ 阅读次数
📝 编程学习
今天刷视频看到一些 C 语言初学者比较疑惑return语句,所以想发表一下个人对此的理解。
return会返回到调用这个函数的地方,实际分为两步:
- 找到我们要返回的地方;
- 跳转。
但是计算机是个“瞎子”,运算器也就那么几个寄存器,用来存储返回地址就不合适。想象一下,小明在森林旅游,但小明的脑容量只有一个核桃大小,记住路线是很困难的,所以小明打开了高德地图(将我们下一步要去的地址存在一块特定的内存),高德地图中给小明指明了下一步去哪里(依据内存中的地址前进)。
然后关于返回值,森林中的宝藏是小明妈妈的手机密码,这对小明是很重要的,并且密码很简单,所以小明挤出了他原本不多的脑容量来记忆(实际上在汇编底层是用寄存器cx保存)。
如果宝藏是《九阳真经》,以小明的脑容量是无法记忆的,所以小明将它抄录在自己的笔记本上(写在内存上),然后只要记住页数即可了(返回存储数据的内存首地址)。
当然这只是大概流程用来帮助理解,详细的过程还是要去了解汇编的入栈,出栈,计算机指令是如何根据CS IP有序执行指令的。
编程学习
技术分享
实战经验