C语言中强制类型转换的用法
可以利用强制类型转换运算符将一个表达式转换成所需类型:
(double)a; //将a转换成double类型
(int)(x+y); //将x+y的值转换成int型
(float)(5%3);//将5%3的值转换成float类型
其一般形式为
(类型名)(表达式)
注意:表达式应该用括号括起来。如果写成
(int)x+y
则只将x转换成整型,然后与y相加。
需要说明的是,在强制类型转换时,得到一个所需类型的中间数据,而原来变量的类型未发生变化。
从以上可知,有两种类型转换,一种是在运算时不必用户干预,系统自动进行的类型转换,如3+6.5,第二种是强制类型转换。当自动类型转换不能实现目的时,可以用强制类型转换。
此外,在函数调用时,有时为了使实参与形参保持一致,可以用强制类型转换运算符得到一个所需类型的参数。