C语言类型转换

举报
yd_274589494 发表于 2023/07/26 12:13:45 2023/07/26
【摘要】 @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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。