gpt4 book ai didi

c - 什么是函数指示符和实际调用?

转载 作者:行者123 更新时间:2023-12-03 20:05:58 25 4
gpt4 key购买 nike

根据 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com