C语言类型转换的作用是什么及怎么使用
发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,这篇"C语言类型转换的作用是什么及怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这
千家信息网最后更新 2024年11月20日C语言类型转换的作用是什么及怎么使用
这篇"C语言类型转换的作用是什么及怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"C语言类型转换的作用是什么及怎么使用"文章吧。
一、类型之间的转换
C语言中的数据类型可以进行转换
强制类型转换
隐式类型转换
二、强制类型转换
强制类型转换的语法
(Type)var_name;
(Type)value;
强制类型转换的结果
目标类型能够容纳目标值:结果不变
目标类型不能容纳目标值:结果将产生截断
注意:不是所有的强制类型转换都能成功,当不能进行强制类型转换时,编译器将产生错误信息(比如将自定义数据类型转换成基本数据类型)。
下面看一段强制类型转换的代码:
#includestruct TS{ int i; int j;}; struct TS ts; int main(){ short s = 0x1122; char c = (char)s; // 0x22 int i = (int)s; // 0x00001122 int j = (int)3.1415; // 3 unsigned int p = (unsigned int)&ts; //long l = (long)ts; // error //ts = (struct TS)l; // error printf("s = %x\n", s); printf("c = %x\n", c); printf("i = %x\n", i); printf("j = %x\n", j); printf("p = %x\n", p); printf("&ts = %p\n", &ts); return 0;}
下面为输出结果:
注意将自定义数据类型转换成基本数据类型会报错。
三、隐式类型转换
隐式类型转换是编译器主动进行的类型转换
注意:
低类型到高类型的隐式类型转换是安全的,不会产生截断
高类型到低类型的隐式类型转换是不安全的,导致不正确的结果
四、表达式中的隐式类型转换
隐式类型转换的发生点
算术运算式中,低类型转换为高类型
赋值表达式中,表达式的值转换为左边变量的类型
函数调用时,实参转换为形参的类型
函数返回值,return表达式转换为返回值类型
安全的隐式类型转换:
下面看一段隐式类型转换的代码:
#includeint main(){ char c = 'a'; int i = c; // safe unsigned int j = 0x11223344; short s = j; // unsafe printf("c = %c\n", c); printf("i = %d\n", i); printf("j = %x\n", j); printf("s = %x\n", s); printf("sizeof(c + s) = %d\n", sizeof(c + s)); return 0;}
下面为输出结果:
c 为 char 类型,s 为 short 类型,再进行四则运算前,各个比 int 窄的加数自动提升为 int,结果也为 int 类型,故 size 为4
以上就是关于"C语言类型转换的作用是什么及怎么使用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
类型
结果
强制
内容
数据
语言
目标
表达式
作用
安全
代码
函数
文章
目标值
知识
篇文章
编译器
编译
输出
主动
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发项目通讯录
机架式服务器竖着
软件开发6步
一个软件开发需要多少钱
软件开发源代码版权
枚举对应数据库数据
泗阳网络技术联系方式
国家网络安全宣传稿件
数据库 重表
鹿泉区网络技术开发
全世界排名第四服务器
重庆交友软件开发价钱是多少
勋章下载软件开发
服务器系统安全认证
服务器的无线网络如何启用
it 软件开发哪家快
嘉定区信息软件开发定制介绍
复仇者联盟4服务器
我的世界阿辉宝可梦服务器下载
数据网络一直显示无法连接服务器
35岁网络安全岗位
佛山数字软件开发优化价格
网络技术普及
常熟电力系统软件开发
路径抠图软件开发
天门淘宝客程序软件开发
软件开发工作比例
高青客户服务crm软件开发
清华同方济南软件开发
农业农村网络安全宣传