There are a few other important operators supported by the C Language.
comma operator:
A set of expression separated by comma is a valid constant in the C language. For example i and j are declared by the statements
In the above declaration, right hand side consists of two expressions separated by comma. The first expression is
cast operator:
Cast operator can be used to explicitly convert the value of an expression to a different data type. Its general format is
Example:
Operator | Syntax | Description | Example |
---|---|---|---|
Size-of | sizeof | Returns the size of a variable. | sizeof(x), where x is integer, will return 2 or 4. |
Address-of | &x | Returns the address of a variable. | &x; returns the actual address of the variable x. |
Indirection | *x | Pointer to a variable. | *x ; will be pointer to a variable x |
Comma | x,y | Comma operator, sequencing | int x, y; |
Cast | (type) | Cast operator can be used to explicitly convert the value of an expression to a different data type. typeconversion | x = (int)y; |
Function call | x(y,z) | Function expression | int main(int argc, char *argv[]); |
Expression Grouping | x*(y+z) | Grouping expression or sub-expression | x*(y+z) |
Subscript | x[y] | Array expression | int months[12]; |
Structure Deference | x->y | Structure element selection through pointer | struct time *now; now-> hour = 10; |
Structure reference | x.y | Structure element selection by reference | struct time now; now. hour = 10; |
#include <stdio.h>
int main()
{
int x = 21, z = 0;
int *y;
printf("Sizeof x is %d\n", sizeof(x));
y = &x;
printf("Address-of x is 0x%x\n", y);
printf("Indirection. Pointer to x: %d\n", *y);
return 0;
}
The output of the above program would beSizeof x is 4
Address-of x is 0x28ff34
Indirection. Pointer to x: 21
comma operator:
A set of expression separated by comma is a valid constant in the C language. For example i and j are declared by the statements
int i , j;
i=(j=10,j+20);
In the above declaration, right hand side consists of two expressions separated by comma. The first expression is
j=10
and second is j+20
. These expressions are evaluated from left to right. ie first the value 10
is assigned to j
and then expression j+20
is evaluated so the final value of i
will be 30
.cast operator:
Cast operator can be used to explicitly convert the value of an expression to a different data type. Its general format is
(data type) expression
Example:
int i= (int)3.14;
In the above statement, the value of i is 3.
float j= (float)10/2
In the above statement, the value of j is 5.0
Related topics:
Overview of Operators in C | Arithmetic Operators in C | Relational Operators in C | Logical Operators in C | Bitwise Operators in C | Compound Assignment Operators in C | Conditional Operators in C | Operator Precedence and Associativity in C
List of topics: C Programming
No comments:
Post a Comment