C语言类型转换
【摘要】 @TOC 前言本篇文章将带大家学习C语言中的类型转换,类型转换是C语言中比较常用的知识点,希望大家能够掌握。 一、强制类型转换强制类型转换是把变量从一种类型转换为另一种数据类型。在实际的开发中我们难免会遇到不同类型间的转换,所以说我们有必要去学好强制类型的转换。比如指针类型之间的转换,或者浮点数和整数之间的转换。 1.强制类型转换的用法(想要转换的类型)(原类型)代码示例:#include ...
@TOC
前言
本篇文章将带大家学习C语言中的类型转换,类型转换是C语言中比较常用的知识点,希望大家能够掌握。
一、强制类型转换
强制类型转换是把变量从一种类型转换为另一种数据类型。在实际的开发中我们难免会遇到不同类型间的转换,所以说我们有必要去学好强制类型的转换。比如指针类型之间的转换,或者浮点数和整数之间的转换。
1.强制类型转换的用法
(想要转换的类型)(原类型)
代码示例:
#include <stdio.h>
int main(void)
{
short a = 10;
int b = (int)a;
return 0;
}
2.强制类型转换注意点
1.不是所有的转换都能成功,当不能进行强制类型转换时将报错。
2.进行强制类型转换时小的数据类型向大的数据类型进行转换时没有问题,大的数据像小的数据进行转换时会发生数据的截断。
#include <stdio.h>
int main(void)
{
short a = 0x8888;
char b = (char)a;
printf("0x%x,0x%x", a, b);
return 0;
}
运行结果
当short向char转换时将会截断高位只保留第最低位的数据。
二、隐式类型转换
隐式类型转换是编译器主动进行的数据类型转换,不需要我们自己去转换。
示例:
#include <stdio.h>
int main(void)
{
char c = 1;
short a = c;
int b = a;
long d = b;
return 0;
}
注意点:
由于隐式类型转换是编译器主动进行的数据类型转换,所以我们必须注意是高类型像低类型转换还是低类型向高类型转换。
总结
强制类型转换其实并不难,很多同学都不会使用强制类型转换,甚至出现错误的用法,希望这篇文章能够帮助到大家。掌握好了强制类型转换让你在开发中避免一些不必要的错误。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)