类型转换
在C语言中的类型转换有隐式类型转换和强制类型转换,C++中也支持。类型转换使用C++风格的扩展的显式类型转换或者不使用都可以,但是一定要想明白,从源类型转换到当前类型是否合理,合理的话使用C类型的转换也可以,不合理就别转了。
1.隐式类型转换
2.强制类型转换
3.C++扩展的显式类型转换
1.隐式类型转换
(1)不同类型数据之间运算
int i = ‘C’;
(2)函数调用时,不同类型实参到形参的传值
void func(int i)
func(‘C’)
(3)函数定义时,return不同类型数据
int func(void){
return ‘C’;
}
在基本类型之间都是相互的可以直接完成类型转化,但也有隐蔽的情况,例如:函数形参定义时候为int型,但在传参时候确是字符类型变量,这时想要完成参数传递,需要完成字符类型的实参转换为与函数相匹配的整形类型的参数,才能完成传参过程。在函数返回不同类型数据时候,定义返回值声明为int 整型,但return时候为字符型,这时候也需要将字符类型转换为整型数值才能完成函数的返回。在C++中类似前面的转换也是支持的。
2.强制类型转换
(1)