关于 C 语言 return 的底层通俗理解与解释

📅 2026/7/10 14:30:45 👁️ 阅读次数 📝 编程学习
关于 C 语言 return 的底层通俗理解与解释

今天刷视频看到一些 C 语言初学者比较疑惑return语句,所以想发表一下个人对此的理解。

return会返回到调用这个函数的地方,实际分为两步:

  1. 找到我们要返回的地方;
  2. 跳转。

但是计算机是个“瞎子”,运算器也就那么几个寄存器,用来存储返回地址就不合适。想象一下,小明在森林旅游,但小明的脑容量只有一个核桃大小,记住路线是很困难的,所以小明打开了高德地图(将我们下一步要去的地址存在一块特定的内存),高德地图中给小明指明了下一步去哪里(依据内存中的地址前进)。

然后关于返回值,森林中的宝藏是小明妈妈的手机密码,这对小明是很重要的,并且密码很简单,所以小明挤出了他原本不多的脑容量来记忆(实际上在汇编底层是用寄存器cx保存)。

如果宝藏是《九阳真经》,以小明的脑容量是无法记忆的,所以小明将它抄录在自己的笔记本上(写在内存上),然后只要记住页数即可了(返回存储数据的内存首地址)。

当然这只是大概流程用来帮助理解,详细的过程还是要去了解汇编的入栈,出栈,计算机指令是如何根据CS IP有序执行指令的。