作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据 C99 标准:
The order of evaluation of the function designator, the actual arguments, and subexpressions within the actual arguments is unspecified, but there is a sequence point before the actual call.
最佳答案
函数指示符是具有函数类型的表达式。也就是说,当您键入 func(a,b);
时调用函数,func
是功能指示符。
(这种函数指示符出现在表达式中时,通常会“衰减”为指向函数的指针,就像数组衰减为指向第一个元素的指针一样。)
“实际调用之前的序列点”的意思是在调用函数之前必须对所有操作数进行完全评估(执行)。
如果您有 func(a(), b())
, 如果 a()
未指定或 b()
是先执行的,但是你知道这两个肯定是在func
之前执行的叫做。
所以如果 a()
例如修改了 func
也使用的全局变量,这很好,因为对该变量的访问将以明确定义的顺序进行排序。
关于c - 什么是函数指示符和实际调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62150971/
我是一名优秀的程序员,十分优秀!