• C语言 | 类型的基本归类


    类型的基本归类

    整型家族

    整型家族
    charunsigned char
    signed char
    shortunsigned short [ int ]
    signed short [ int ]
    intunsigned int
    signed int
    longunsigned long [ int ]
    signed long [ int ]

    那么为什么char字符型也要被归类为整型家族呢?

    这是因为字符在内存中存储的是字符的ASCII码值ASCII码值是整型,所以字符类型归类为整型家族。 

    signed与unsigned的意义
    • signed是有符号的
    • unsigned是无符号的

    在编译器中,其实signed int有符号整型与int是相同的,默认int a的a变量就是有符号的,但是在定义无符号的整型时,我们要注意不能缺少unsigned,例如:

    1. int a;
    2. //signed int a;
    3. unsigned int a;

    同理,其实int就是signed int,short就是signed short,long就是signed long,那么char呢?注意这里的char与它们是不同的

    • char是否是signed有符号的,在C语言标准中是为定义的,取决于不同的编译器中。

    这里注意在整型家族中,我们并没有提到long long类型,因为long long是一种较新的类型,在一些古老的编译器中,也不能支持使用long long,所以大家需要酌情使用long long类型。

    浮点数家族

    float
    double

    构造类型

    构造类型,也称为自定义类型,就是可以根据自己的需求来设定的自定义类型。

    数组类型
    结构体类型struct
    枚举类型enum
    联合类型union

    指针类型

    int * pi;
    char * pc;
    float * pf;
    void * pv;

    空类型

    • void 表示空类型(无类型)
    • 通常应用于函数的返回类型函数的参数指针类型
    1. void test(void)
    2. {
    3. }

    我们看一下上面的代码,第一个void是表示test函数不会返回任何值;而第二个void则是表示test函数没有参数。

    在一些古老的编程书籍中,会有在主函数中传参为void,这就表示,在使用main主函数时,不需要传参,但是其实main函数是有三个参数的。

    1. int main(void) //在使用main主函数时,可以不传参
    2. {
    3. }
    4. //main主函数的三个参数
    5. int main(int argc,char * argv,char * envp[])
    6. {
    7. }

    大概了解了这个类型之后,今天讲的主要是整型家族以及浮点型家族在内存中的存储。 


    在编程中,我们需要创建变量,创建变量就需要开辟空间。而数据在内存中存储的都是二进制,计算机能够处理的是二进制的数据,整型和浮点型数据在内存中也都是以二进制的形式,进行存储的,那么整型浮点型二进制的表达形式有什么差异呢?

  • 相关阅读:
    算数表达式
    开启php8的JIT及时编译,超级详细 照抄即可
    人工智能轨道交通行业周刊-第61期(2023.9.18-9.24)
    八道简单入门编程题详解+拓展(水花仙,二进制序列……)
    Vue3 - 全局 API(相比 Vue2 有什么变化?具体怎么使用?)
    Bootstrap的不同版本使用的CSS 预处理器的不一样的
    WebKit Insie: Active 样式表
    Java岛屿数量(DFS)
    对象分配规则
    MySQL | 行锁——记录锁、间隙锁 、临键锁、插入意向锁
  • 原文地址:https://blog.csdn.net/2301_78131481/article/details/133774939