C语言进阶--类型转换
1.强制类型转换
long l = 800;
int i = (int)l;
2.隐式类型转换
short s = 800;
int i = s;
3.强制类型转换的语法
--(Type)var_name;
--(Type)value;
强制类型转换的结果:
--目标类型能够容纳目标值:结果不变
--目标类型不能容纳目标值:结果将产生截断
注意:不是所有的强制转换都能成功,当不能进行强制类型转换时,编译器将产生vu哦呜信息。
隐式类型转换
注意:低类型到高类型的隐式类型转换是安全的,不会产生截断,高类型到低类型的隐式类型转换是不安全的,导致不正确的结果。
隐式类型转换的发生点:
--算术运算式中,低类型转换为高类型
--赋值表达式中,表达式的值转换为左边变量的类型
--函数调用时,实参转换为形参的类型
--函数返回值,return表达式转换为返回值类型
#####安全的隐式类型转换
小结:
强制类型转换由程序员负责完成
--转换可能产生截断
--转换不区分类型的高低
--转换不成功时,编译器给出错误信息
隐式类型转换由编译器自动完成
--低类型向高类型的转换时安全的
--高类型向低类型的转换时不安全的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了