栈是先入后出的数据结构.
函数参数从右到左, 那么到函数内部出栈的时候就是从左到右的顺序了.
对于普通函数无区别. 但对于可变参函数, 会根据左侧参数来决定共计有多少参数, 每个类型是什么.
比如 printf scanf这类的.
于是 就设计成从右到左的压栈方式了.
因为有些是不定参数的
这样函数内 在处理的时候 从左到右 会更方便.
根据前面的参数 来确定后面还有多少参数 这样.
要函数内部弹栈从左到右
那么压栈就只能从右到左了.
基本正确,补充一点,参数一般是往寄存器里面放,放不下的情况下,才压栈.
压栈顺序是从右到左,而求值顺序则是undefined的,由编译器实现决定.
请参考:
以上就是土嘎嘎小编为大家整理的c语言函数压栈顺序相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!