- Type conversion occurs when the expression has data of mixed data types.
- example of such expression include converting an integer value in to a float value, or assigning the value of the expression to a variable with different data type.
- In type conversion, the data type is promoted from lower to higher because converting higher to lower involves loss of precision and value.
- For type conversion, C following some General rules explained below
- Integer types are lower than floating point types
- Signed types are lower than unsigned types
- Short whole number types are lower than longer types
In other word :
Type Conversion refers to translating of values (roughly speaking, contents of the object), so that they may be interpreted as belonging to a new type.
if (d > i) d = i;
if (i > l) l = i;
if (d == l) d *= 2;
Type Casting (or) Explicit Type conversion:
- Explicit type conversions can be forced in any expression , with a unary operator called a cast.
- Syntax is
- The above statement will convert the value of n to a float value before assigning to x.but n is not altered
- Type casting does not change the actual value of the variable but the resultant value may be put in temporary storage.
- The cast operator has the same high precedence as other unary operators.
- The Typecasting should not be used in some places.such as
- Type cast should not be used to override a const or volatile declaration.overriding these type modifiers can cause the program to fail to run correctly.
- Type cast should not be used to turn a pointer to one type of structrure or data type in to another.
- Example of type casting using pointers
void *temp; //void pointer
i=10 //here temp is a void pointer.temp is used to typecast to anyother pointer