网站首页 > 文章中心 > 其它

c语言函数压栈顺序

作者:小编 更新时间:2023-09-25 10:49:16 浏览量:423人看过

C语言中函数参数压栈方式为什么是从右到左

栈是先入后出的数据结构.

函数参数从右到左, 那么到函数内部出栈的时候就是从左到右的顺序了.

对于普通函数无区别. 但对于可变参函数, 会根据左侧参数来决定共计有多少参数, 每个类型是什么.

比如 printf scanf这类的.

于是 就设计成从右到左的压栈方式了.

C语言中函数参数压栈方式为什么是从右到左的

因为有些是不定参数的

这样函数内 在处理的时候 从左到右 会更方便.

根据前面的参数 来确定后面还有多少参数 这样.

要函数内部弹栈从左到右

那么压栈就只能从右到左了.

C语言函数压栈顺序

基本正确,补充一点,参数一般是往寄存器里面放,放不下的情况下,才压栈.

C语言函数参数压栈顺序与求值顺序的问题

压栈顺序是从右到左,而求值顺序则是undefined的,由编译器实现决定.

请参考:

以上就是土嘎嘎小编为大家整理的c语言函数压栈顺序相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章