C supports some special operators such
as comma operator, size of operator, pointer operator (* and &) and member
selection operators. (.and →)
Comma
Operator:
The comma operator can be used to link the related
expression together. Comma linked lists of expression are evaluated left to
right and the value of right-most expression is the value of combined
expression. For example, value = (x = 10, y = 5, x + y),
Here, 10 is assigned to x and 5 is assigned to y and
so expression x+y is evaluated as (10+5) i.e. 15.
Size of
Operator:
The size of operator is used with an operand to
return the number of bytes it occupies. It is a compile time operand. The
operand may be a variable, a constant or a data type qualifier. The
associativity of size of right to left. For example Suppose that i is an
integer variable, x is a floating-point variable, d is double-precision variable
and c is character type variable.
The statements:
printf (“integer : %d \n”, size of i) ;
printf (“float : %d \n”, size of x) ;
printf (“double : %d \n”, size of d) ;
printf (“character : %d \n”, size of c) ;
Unary
expression Equivalent
expression
++ variable or (variable ++) variable = variable +1
-- variable or (variable _ _) variable = variable -1
The investment or decrement operators can each be
utilized two different ways, depending on whether the operator is written
before or after. If the operator is written before the operand then it is
called as prefix unary operator. If the operator is written after the operand,
then it is called as postfix unary operator. When prefix is used, the operand
will be altered in value before it is utilized for its intended purpose within
the program. Similarly, when postfix is used, the operand will be altered in
value after it is utilized. A C program includes an integer variable i whose
initial value is 1. Suppose the program includes the following three printf
statements.
printf (“i = %d\n”, i) ;
printf (“i = %d\n”, ++i) ;
printf (“i = %d\n”, i) ;
These printf statements will generate the following
three lines of output:
i = 1
i = 2
i = 2
Again, suppose printf (“i = %d\n”, i) ;
printf
(“i = %d\n”, i++) ;
printf
(“i = %d\n”, i) ;
These statements will generate the following three
lines of output:
i = 1
i = 1
i = 2
The precedence of unary increment or decrement is
same and associativity is right to left.
Comments
Post a Comment