C语言参数本质
通过了解参数传递的本质了解编译器 vc++6.0
C语言代码:
我们来看一下反汇编窗口:按F10
通过这个反汇编代码我们看到,在vc++6.0中虽然我们传递参数时定义的是char类型,但是在主函数中它传递参数的方式依然是按照32位的方式传递。。。
#我们传递参数时定义char类型和short类型是无意义的,它传递参数都是按照4字节传递的,如果是64位的他就按照8字节传递的#
总结:参数传递的本质,将上层函数的变量,或者表达式的值“复制一份”,传递给下层函数。
看完了参数传递的本质,那我们来了解下创建一个空函数,什么都不干,他是如何开辟多大的内存缓冲区,在之前的学习中我们了解到,即使我们什么都不做,开辟函数时,他也会自动提升堆栈,提升缓冲区。
C语言:
汇编代码: