zoukankan      html  css  js  c++  java
  • 05 C语言的数据类型

    C语言的数据类型

    在C 中,数据类型是用来声明不同类型的变量或函数的一个广泛的概念。变量的数据类型决定了变量存储占用的空间大小,以及如何去解释存储的位模式

    C 中的数据类型可分为以下几大类:

    序号 数据类型及其类型描述
    1 基本类型:都是算术类型,包括两种:整数类型和浮点类型。
    2 枚举类型:它们也都是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。
    3 void类型:类型说明符void表示没有可用的值
    4 派生类型: 它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。

    数组类型和结构类型统称为聚合类型函数的类型指的是函数返回值的类型

    整数类型

    下面的表格给出了标准的整数类型的存储大小值范围的细节:

    类型名称 存储的数据大小 取值范围
    char 1字节 -128 到 127 或 0 到 255
    unsigned char 1 字节 0到255
    signed char 1 字节 -128 到 127
    int 2 或 4 字节 -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
    unsigned int 2 或 4 字节 0 到 65,535 或 0 到 4,294,967,295
    short 2 字节 -32,768 到 32,767
    unsigned short 2 字节 0 到 65,535
    long 4 字节 -2,147,483,648 到 2,147,483,647
    unsigned long 4 字节 0 到 4,294,967,295

    注意
    各种类型的存储大小系统位数有关,但目前通用的以64位系统为主。

    以下列出了32位系统与64位系统的存储大小的差别(windows 相同):
    32位系统与64位系统的存储大小的差别(windows 相同).png

    sizeof运算符——获取某类型的准确大小

    为了得到某个类型或变量特定平台上的准确存储大小,可以使用 sizeof 运算符。表达式 sizeof(type) 得到对象或类型的*存储字节大小**。以下的示例演示了获取 int 类型的大小:

    实例
    #include <stdio.h>
    #include <limits.h>
    int main()
    {
      printf("int类型的存储大小:%lu 
    ",sizeof(int));
      return 0;
    }
    

    %lu 为 32 位无符号整数

    编译并执行上面的程序后,生成如下结果:

    int 存储大小 : 4 
    

    浮点类型

    虾苗的表格给出了标准浮点类型的存储大小、值范围和精度的细节:

    类型 存储大小 值范围 精度
    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 位小数

    头文件 float.h 定义了,在程序中可以使用这些值和其他有关实数二进制表示的细节。下面的实例将输出浮点类型占用的存储空间以及它的范围值

    实例

    #include <stdio.h>
    #include <float.h>
    int main()
    {
      printf("float存储最大字节数:%lu 
    ",sizeof(float));
      printf("float最小值:%E 
    ",FLT_MIN);
      printf("float最大值:%E 
    ",FLT_MAX);
      printf("精度值:%d 
    ",FLT_DIG);
    
      return 0;
    }
    

    %E 为以指数形式输出单、双精度实数**

    编译并执行上面的程序后,生成如下结果:

    float 存储最大字节数 : 4 
    float 最小值: 1.175494E-38
    float 最大值: 3.402823E+38
    精度值: 6
    

    void类型

    void 类型指定没有可用的值。通常用于以下三种情况:

    序号 类型与描述
    1 函数返回为空 C 中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的返回类型为空。例如 void exit (int status);
    2 函数参数为空 C 中有各种函数不接受任何参数。不带参数的函数可以接受一个 void。例如 int rand(void);
    3 指针指向 void类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数 void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。

    现在还是无法完全理解 void 类型,后续持续深入学习理解。

  • 相关阅读:
    Spring Cloud Hystrix Dashboard的使用 5.1.3
    Spring Cloud Hystrix 服务容错保护 5.1
    Spring Cloud Ribbon 客户端负载均衡 4.3
    Spring Cloud 如何实现服务间的调用 4.2.3
    hadoop3.1集成yarn ha
    hadoop3.1 hdfs的api使用
    hadoop3.1 ha高可用部署
    hadoop3.1 分布式集群部署
    hadoop3.1伪分布式部署
    KVM(八)使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
  • 原文地址:https://www.cnblogs.com/xlfcjx/p/13261791.html
Copyright © 2011-2022 走看看