C - Type Conversion

In C programming, type conversion allows you to convert values from one data type to another. Sometimes, you may need to perform operations or assignments involving different data types, and type conversion helps ensure compatibility and proper execution. There are two types of type conversion in C:

Implicit Type Conversion (Automatic Type Conversion):

Implicit type conversion is performed automatically by the compiler when it is safe to do so. It occurs when values of one data type are assigned to variables of another data type. The conversion is based on the rules defined by the C language. For example:

int x = 10;
double y = x;  // Implicitly converts int to double

In this case, the integer value 10 is implicitly converted to a double value and assigned to the variable y.

Explicit Type Conversion (Type Casting):

Explicit type conversion, also known as type casting, allows you to explicitly convert a value from one data type to another. Type casting is done by specifying the target data type in parentheses before the value to be converted. For example:

double a = 3.14;
int b = (int) a;  // Explicitly converts double to int

Here, the double value 3.14 is explicitly cast to an int value and assigned to the variable b.

Type casting can be useful when you want to convert a value to a different data type explicitly, but you need to be cautious as it can result in data loss or unexpected behavior if the conversion is not compatible or valid.