不符合任何其他主要类别的运营商的集合。
操作者运营商名称例描述(...)函数调用F(...)使用零个或多个参数调用函数f()
,逗号运算符a,b评估表达式a,忽视其返回值并完成任何副作用,然后评估表达式b,返回此评估的类型和结果
(类型)类型转换(类型)的将类型转换为类型
? :条件运算符一个 ?b:c如果a在逻辑上为真(不评估为零),则评估表达式b,否则评估表达式c
的sizeof规模经营者sizeof a一个字节的大小
_Alignof(自C11以来)_Alignof运营商_Alignof(类型)类型所需的对齐
函数调用
函数调用表达式具有表单。
expression ( argument-list(optional) )
其中
表达-指针函数类型的任何表达式(在左值转换之后)参数列表-任何完整对象类型的逗号分隔的表达式列表(不能是逗号运算符)。调用不带参数的函数时可能会被省略。
函数调用表达式的行为取决于被调用函数的原型是否在调用点范围内。
用原型调用函数
1)参数的数量必须等于参数的数量(除非使用省略号参数)。
2)每个参数的类型都必须是一种类型,以便隐式转换,就像通过赋值存在将相应参数的非限定类型转换为参数类型一样。
此外,对于在and之间使用关键字static的数组类型的每个参数,参数表达式都必须指定一个指向数组元素的指针,该数组元素至少具有参数大小表达式中指定的许多元素。(自C99以来)
3)参数以未指定的顺序进行评估,无需排序。
4)赋值(直到C11)执行初始化(从C11开始),将每个参数的值复制到相应的函数参数(注意;该函数可以修改其参数,并