前言
C语言的隐式转换和它的强弱类型有着密切的关系。强类型特点:在运行时,参与运算的变量类型始终保持不变,不存在潜在变化。弱类型特点:相反,参与运算的变量类型发生改变,有潜在出错的可能,但是计算机仍然执行指令。C语言是一种弱类型语言。
转换类型:运算、赋值、函数参数、返回值
运算:char a; int b, c; c = a + b; 在计算过程中,a首先转化成int,然后与b进行加法运算。
赋值:char a; int b; b = a; 在赋值之前,首先将a转化为int,再将其值赋于b;
函数参数:extern void add(float p); int a = 10;add(a); 首先将a转化为float,然后作为实参传入。
返回值:int a; a = add(3.14); 若函数返回值是float,则先转化成int,再赋值。
转换原则:精度由低到高、范围由小到大 即char/unsigned char/short /unsigned shot→int→unsigned int →long→unsigned long→long long →unsigned long long→float→double→long double
结束语:隐式转换增强了编程的自由度,对开发者要求比较高。