我想知道是否可以在 C (89/90) 中链接函数调用,以及它在C 规范中定义的位置。我认为这是不可能的,因为谷歌搜索没有提到它。
我之所以想到这一点,是因为与我的一位朋友进行了一次相关的对话,他告诉我,给定一个返回结构的函数,您不能在同一语句中对所述结构执行任何操作;相反,您必须将函数的结果分配给变量,然后通过变量而不是直接从函数结果本身来操作结构。这让我相信你也不能链接函数,但我似乎找不到规范中讨论的这些限制。
编辑:对不起,我应该具体说明返回值。假设函数返回一个函数指针,是否可以在同一语句中以流畅的方式取消引用和调用结果?
例如,假设getFunc
返回一个函数指针:
(*getFunc(getFuncParam))(otherFuncParam)
或者在这种struct
情况下,假设 astruct
有一个int
名为 的成员count
:
funcReturnsStruct(param).count++