• C 语言编程 — 基本数据类型


    目录

    前文列表

    程序编译流程与 GCC 编译器
    C 语言编程 — 基本语法

    数据类型

    数据类型,即数据对象的类型,是编程语言的基石。自编程语言发明以来,数据类型就已经存在,其最初的目的就是为了能够让程序更加充分的利用稀缺的内存空间。

    在硬件行业严格遵守摩尔定律发展了多年后的今天,开发者得以享受充足内存资源,同时,数据类型也被赋予了更深厚的含义:

    • 确定数据对象占用的内存空间大小
    • 确定数据对象的数值范围
    • 规定数据对象所能进行的操作(行为)

    例如:基本整型数据对象占用 4 Bytes(32 Bits) 的内存空间, 数值范围是 0x0~0xFFFF FFFF,可以进行求余运算。需要注意的是,类型数据对象所占用的内存空间和数值范围,除了取决于 C 语言本身的常规定义之外,还可能会受到编译器的影响。

    C 语言的数据类型可能是内建的,也可能是我们自定义的。

    C 语言 4 大数据类型:

    在这里插入图片描述

    基本数据类型

    数据类型用于声明不同类型的常量、变量或函数。变量的数据类型决定了变量占用的存储空间,以及如何解释存储的位模式。

    基本类型是算术类型,包括:整数类型和浮点类型。

    在这里插入图片描述

    无符号数据类型与有符号数据类型的区别:

    • 占用相同的内存空间,但表示数值范围不同
    • 有符号和无符号仅可用于修饰整型或字符型数据对象

    在这里插入图片描述

    例如:若 unsigned char 和 signed char 都占用 1Byte 的内存空间。signed char 的数值范围为 [-128, 127],而 unsigned char 的数据范围为 [0, 255]。这是因为有符号数据类型数据的最高位被用作为符号位,而无符号的数据类型数据最高位被用作为数据位。

    整型

    • 默认为 10 进制
    • 以 0 开头为 8 进制:045,021
    • 以 0b 开头为 2 进制:0b11101101
    • 以 0x 开头为 16 进制:0x21458adf

    注意,各种类型的存储大小与操作系统 CPU 的位数是有关系的。可以使用 sizeof 运算符来得到某个类型或某个变量在特定平台上的准确大小。

    #include <stdio.h>
    
    int main() {
        printf("int: %lu 
    ", sizeof(int));
        return 0;
    }
    
    • stdio.h:输入输出标准库,声明了 printf 标准函数
    • %lu:为 32 位无符号整数。
    • sizeof:C 语言运算符,计算数据类型或变量长度(即:所占字节数)

    运行:

    $ gcc -Wall main.c -o main
    
    $ ./main
    int: 4
    

    浮点型

    下表列出了关于标准浮点类型的存储大小、值范围和精度的细节:
    在这里插入图片描述

    • 单精度常量:2.3f
    • (默认)双精度常量:2.3
    #include <stdio.h>
    #include <float.h>
    
    int main(){
        printf("float byte: %lu 
    ", sizeof(float));
        printf("float MIN: %E 
    ", FLT_MIN);
        printf("float MAX: %E 
    ", FLT_MAX);
        printf("float DIG: %d 
    ", FLT_DIG);
    
        return 0;
    }
    
    • float.h:定义了浮点数相关的宏,e.g. FLT_MIN、FLT_MAX 等。
    • %E:以指数形式输出单、双精度实数。

    运行:

    $ ./main
    float byte: 4
    float MIN: 1.175494E-38
    float MAX: 3.402823E+38
    float DIG: 6
    
  • 相关阅读:
    扁鹊见蔡桓公
    月出
    TypeScript 基本类型
    随机漂浮图片广告实例代码
    js实现的随机颜色实例代码
    初识JavaScript 变量, 操作符, 数组
    HTML5的新结构标签
    14款超时尚的HTML5时钟动画
    CSS如何设置div半透明效果
    Google Doodle 2015圣诞版背后的故事与十年圣诞回顾
  • 原文地址:https://www.cnblogs.com/jmilkfan-fanguiju/p/12789734.html
Copyright © 2020-2023  润新知