强制类型转换:
隐式类型转换:
问题:何时使用强制类型转换,何时使用隐式类型转换?float类型可否强制转化为int?
浮点转整型:只保留整数
short转char:只保留低位
short转int:结果不变
隐式类型转换:编译器主动进行的转换;
低类型(所占字节数相对于高类型少)到高类型的隐式类型转换是安全的,反之不安全。
隐式类型转换发生点:
1,算术运算式中低类型转换为高类型
2,赋值表达式中表达式的值转换为左边变量的类型
3,函数调用时实参转换为形参的类型
4,函数返回值,return表达式转换为返回值类型
注:标准C编译器的类型检查是比较宽松的,因此隐式类型转换可能带来意外的错误。