首页 > 后端开发 > C++ > C 和 C 函数调用中参数求值的顺序是什么?

C 和 C 函数调用中参数求值的顺序是什么?

Linda Hamilton
发布: 2024-12-26 15:20:14
原创
253 人浏览过

What is the Order of Parameter Evaluation in C and C   Function Calls?

函数调用中参数求值的顺序

在 C 和 C 等编程语言中,函数参数求值的顺序是一个主题辩论。本文深入探讨了各自语言标准概述的细节。

C 语言

根据 C99 和 C11 标准,计算函数参数没有固定的顺序。其中的函数指示符、参数和子表达式的求值以未指定的顺序发生,但在实际函数调用之前有一个序列点。这意味着参数求值的副作用发生在函数进入其主体之前。

C 语言

在 C 中,语言标准指定参数求值的顺序在函数调用中未指定。参数表达式求值的所有副作用都发生在输入函数之前。后缀表达式和参数表达式列表的求值顺序也未指定。

硬件堆栈的使用

C 和 C 标准都不需要使用硬件堆栈来传递函数参数。参数传递的方法是留给编译器设计者的实现细节。虽然大多数架构都采用基于堆栈的方法,但它并未得到普遍实现。

结论

C 和 C 中函数参数的求值顺序可能会有所不同,具体取决于实现,因为它们的语言标准没有明确定义。然而,值得注意的是,参数评估的副作用发生在以两种语言执行相应函数之前。

以上是C 和 C 函数调用中参数求值的顺序是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板