【C语言学习记录4】类型转换

C语言中的数据类型可以进行转换 :

1)强制类型转换

2)隐式类型转换

强制类型转换的语法:

-(Type)var_name;变量名

-(Type)value;变量值

强制类型转换的结果:

- 目标类型能够容纳目标值:结果不变

- 目标类型不能容纳目标值:目标将产生截断。

注意:

不是所有的强制类型转换都能成功,当不能进行强制类型转换时,编译器将产生错误信息。

32位机器上,全局变量的地址占用四个字节。

隐式类型转换:编译器主动的进行类型转换。

(在工程开发中,有一些bug是编译器主动的隐式类型转换带来的。)

注意:

       低类型到高类型的隐式类型转换是安全的,不会产生截断;

       高类型到低类型的隐式类型转换是不安全的,会导致不正确的结果。

隐式类型转换的发生点:

1)算数运算式中,低类型转换为高类型;

2)赋值表达式中,表达式的值转换为左边变量的类型;

3)函数调用时,实参转换为形参的类型;

4)函数返回值,return表达式转换为返回值类型;

 小结:

猜你喜欢

转载自blog.csdn.net/haibing_x/article/details/94411349