Other Operators

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

Table 1-15. Other operators

Operator

Meaning

Example

Result

()

Function call

pow(x,y)

Execute the function with the arguments x and y

(type)

Cast

(long)x

The value of x with the specified type

sizeof

Size in bytes

sizeof(x)

The number of bytes occupied by x

?:

Conditional evaluation

x?y:z

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

,

Sequence operator

x,y

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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.