在C语言中的数据类型是可以相互转换
--强制类型转换
-(Type)var_name;
- (Type)vaule;
目标类型能够容纳目标值:结果不变
目标类型不能够容纳目标值:结果产生截断(不是所有都能强制转换成功)
--隐式类型转换
编译器主动进行的类型转换,低类型到高类型的隐式类型转换是安全的,不会产生截断;
高类型到低类型的转换是不安全的,导致结果不正确;
类型从低到高如下:
标准C编译器的类型检查是比较宽松的,因此隐式类型转换可能带来意外的错误;
在C语言中的数据类型是可以相互转换
--强制类型转换
-(Type)var_name;
- (Type)vaule;
目标类型能够容纳目标值:结果不变
目标类型不能够容纳目标值:结果产生截断(不是所有都能强制转换成功)
--隐式类型转换
编译器主动进行的类型转换,低类型到高类型的隐式类型转换是安全的,不会产生截断;
高类型到低类型的转换是不安全的,导致结果不正确;
类型从低到高如下:
标准C编译器的类型检查是比较宽松的,因此隐式类型转换可能带来意外的错误;