C语言学习随笔-04 数据类型

C中的数据类型 :在C语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。

                            变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。

常用的四中基本数据类型:int 、char、float、double

 


      ▶ 基本类型:它们是算术类型,如int、char、float、double。
      ▶ 指针类型:它们也是算术类型,用来被定义在程序中只能赋予其一定的离散整数值的变量。
      ▶ 空类型void:类型说明符void表示没有值的数据类型,通常用于函数的返回值。
      ▶ 构造类型(派生类型):包括数组类型、指针类型和结构体类型,数组类型和结构类型统称为聚合类型,函数类型指的是函数返回值的类型。

1、整数类型
        类型                        存储大小                  值范围
        char                        1字节                       -128~127或0~255
        unsigned char         1字节                       0~255
        signed char             1字节                       -128~127
        int                            2个或4个字节           -32768~32768或-2147483648~2147483647
        unsigned int             2或4个字节             0~65353或0~4294967295
        short                        2个字节                   -32768~32768
        unsigned short         2个字节                  0~65535
        long                         4个字节                   -2147483648~2147483647
        unsigned long          4个字节                   0~4294967295


2、 浮点类型

        类型                        存储大小                 值范围                                 精度
        float                         4个字节                   1.2E-38~3.4E+38               6位有效数字
        double                     8个字节                   2.3E-308~1.7E+308           15位有效数字
        long double             16个字节                 3.4E-4932~1.1E+4932       19位有效数字

3、字符型 (字母)

       ●  char 英文字符(可以当作整型处理)。

       ●  字符和整型一一对应,对应的整数称为字符的ASCLL码(0~127)。

       ●  实质上char(-128~127),1个字节大小。字符要用单引号括起来和数字区分ASCLL码。

 

▶  数据存储的大小

4、void类型
      void类型指定没有可用的值。它通常用于以下三种情况:
      ●  函数返回为空:C中有各种函数都不返回值,或者可以说它们返回空,不返回值的函数的返回类型为空。
          如:

void exit(int status);

      ●  函数参数为空:C中有各种函数不接受任何参数,不带参数的函数可以接受一void。
          如:

int rand(void);

      ●  指针指向void:类型位void *的指针代表对象地址,而不是类型。
          如:内存分配函数void *malloc(size_t size);返回指向void的指针,可以转换为任何数据类型


5、 C中的类型转换
       ●  隐式类型转换:隐式类型转换是在表达式中自动发生的,无需进行任何明确的指令或函数调用

  int i = 10;
  float f = 3.14;
  double d = i + f;//隐式将int类型转换为double类型

       ●  显式类型转换:显式类型转换需要使用强制类型转换运算符,它可以将一个数据类型的值强制转换为另一种数据类型的值
     

  double e = 3.1415926;
  int i = (int)e;//显式将double类型强制转换为int类型

6、基本数据类型总结:
       ●  数据类型的存储大小;

       ●  需要记得int、char、float、double四种数据类型。

▷  整型(int)

       ●  存放整型的类型占4个字节 ,范围-231——231-1

       ●  int(integer)整数。

       ●  存放0、1、2、3、4这种整数(不能带小数)。

▷  浮点型(float/double)

       ●  flaot:单精度浮点数占4个字节,精确到小数点后面6-7位,存放数据范围-3.410-38——3.41038

       ●  double:双精度浮点数占8个字节,精确到小数点后面16-17位,存放数据范围-1.710-308——1.710308

       ●  double存放范围大,精度高;float占用内存小,运算速度快,

       ●  精度要求高或者存放数据大用double,否则用float。

▷  字符类型型(char)

       ● 存放字符类型,大小1个字节。

       ● 本质上是整数类型,可以存放-128~127范围内的整数。0~127范围内的整数,每个整数都用来对应一个字符,

          这个整数就被称为这个字符的ASCLL码。

       ● 使用的时候,使用字符和它的ASCLL码都可以。

 

posted @ 2024-01-05 18:57  啊波波老表  阅读(102)  评论(0)    收藏  举报