Other Operators

The operators in Table 1-15 do not belong to any of the categories described so far.

Table 1-15. Other operators






Function call


Execute the function with the arguments x and y




The value of x with the specified type


Size in bytes


The number of bytes occupied by x


Conditional evaluation


If x is not equal to 0, then y, otherwise z


Sequence operator


Evaluate x first, then y

A function call consists of a pointer to a function (such as a function name) followed by parentheses () containing the argument list, which may be empty.

The cast operator can only be used on operands with scalar types! An expression of the form ( type )x yields the value of the operand x with the type specified in the parentheses.

The operand of the sizeof operator is either a type name in parentheses or any expression that does not have a function type. The sizeof operator yields the number of bytes required to store an object of the specified type, or the type of the expression. The result is a constant of type size_t.

The conditional operator ?: forms a conditional expression. In an expression of the form x?y:z, the left operand x is evaluated first. If the result is not equal to 0 (in other words, if x is “true”), then the second operand y is evaluated, and the expression yields the value of y. However, if x is equal to 0 (“false”), then the third operand z is evaluated, ...

Get C Pocket Reference now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.