05-数据类型

1.类型的转换:

概念:不同的数据类型但是可以兼容的类型之间,如果出现在同一表达式中则会发生类型的转换。

数据类型转换的模式:

          自动类型转换:不同类型间进行转换,系统自动会从窄类型转换为宽类型(即转换为精度高的类型),有符号的转换成无符号。比如float+double+int-->系统会自动转换成double。

                                  不同类型浮点数的运算,精度小的会转换成精度大的

                                   整数与浮点数运算,整数会自动转换成浮点数。

         强制类型转换:用户根据自己的需求进行强制类型的转换(int)a -->强制把a转换成整形。

int a =100;

char c ='1';

float f = 3.14;

double d = 9986.145;

int dd = (int)a + (int)c + (int)f +(int) d  //强制类型转换

精度从低到高 :char--short--int--long--float-double--longdouble

注意:不管是隐式转换还是显式转换,转换只是在运算过程中,并不会影响到原本的数,是一个临时的转换。

数据类型的本质:

概念: 各种不同的数据类型,从本质上是用于与系统之间的一个约定,这个约定用来如何正确解析内存中的二进制编码。

2.可移植数据类型

概念:不管在神魔系统中,数据的尺寸都是固定不会发生变化的数据类型称为可移植数据类型。

关键字: typedef 相当于typedef给int取别名叫tiezhu。

系统提供了一些预定义的可移植数据类型:

ctrl 单击./x86_64-linux-gnu/bits/types.h 进入types.h文件