C语言进阶--类型转换

1.强制类型转换

  long l = 800;

  int i = (int)l;

2.隐式类型转换

  short s = 800;

  int i = s;

3.强制类型转换的语法

  --(Type)var_name;

  --(Type)value;

  强制类型转换的结果:

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

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

  注意:不是所有的强制转换都能成功,当不能进行强制类型转换时,编译器将产生vu哦呜信息。

  隐式类型转换

  注意:低类型到高类型的隐式类型转换是安全的,不会产生截断,高类型到低类型的隐式类型转换是不安全的,导致不正确的结果。

  隐式类型转换的发生点:

  --算术运算式中,低类型转换为高类型

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

  --函数调用时,实参转换为形参的类型

  --函数返回值,return表达式转换为返回值类型

#####安全的隐式类型转换

 

小结:

  强制类型转换由程序员负责完成

  --转换可能产生截断

  --转换不区分类型的高低

  --转换不成功时,编译器给出错误信息

  隐式类型转换由编译器自动完成

  --低类型向高类型的转换时安全的

  --高类型向低类型的转换时不安全的

posted @   ys_nana  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示