柳城企业网站建设公司/优化落实新十条措施

今日份知识更新,即《深入理解C语言中的类型转换》
文章目录:
一、隐式转换
1.1.基本类型转换
整形提升
算数转换
1.2.指针转换
二、显式转换

隐式转换
基本类型转换
整形提升表达式计算时,整型会首先提升到int类型,当int类型表示的范围不够时,会提升为unsigned int类型。c语言中可以进行整型提升的包括bool,char,short及其对应的无符号类型。下面例子中,不管是bool,char还是short类型,在进行算术运算时,运算结果大小都是4个字节,这是因为编译器会默认对这些整型进行提升,转为4个字节再进行运算。
算术转换
整型和浮点数相加得到浮点型;
有符号整型和有符号整型相加得到其中较大的有符号整型;
无符号整型和无符号整型相加得到其中较大的无符号整型;
有符号整型和无符号整型相加得到较大空间的类型,如果有符号整型空间大,则结果为有符号整型,如果无符号整型空间大,则结果为无符号整型,如果有符号整型和无符号整型空间相等,则结果为无符号整型。
总结来说,算术转换会往较大空间类型的方向转换;如果空间一样,则会往浮点型或者无符号方向转换。
