前言
本篇文章将带大家学习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; }
注意点:
由于隐式类型转换是编译器主动进行的数据类型转换,所以我们必须注意是高类型像低类型转换还是低类型向高类型转换。
总结
强制类型转换其实并不难,很多同学都不会使用强制类型转换,甚至出现错误的用法,希望这篇文章能够帮助到大家。掌握好了强制类型转换让你在开发中避免一些不必要的错误。