文章也同时在简书更新
概览
本文内容是关于C语言参数传值,以及x86底层实现的计算机科学。
包含了原理速览以及代码示例。
引言
如果你学习过C,可能会对经典的swap函数问题记忆深刻。简单的参数传值并不能在函数外部完成两个数的交换,而要用指针传地址。
对此的解释一般为:C语言是以传值的方式将参数传递给函数。因此传递进去的是参数的副本,纵使万千改动也无法触及本源丝毫。故有使用指针一说,以切实地修改两个参数地址处的值。
但对于单纯的传值与传指针(亦地址,引用)的区别是什么,能够道出原委的人可能并不多。因此笔者想通过本文进入更底层的汇编领域,向大家更加清晰地阐述在底层究竟发生了什么。