【无标题】

本文详细介绍了C语言中的共用体、内存大小端的区别、枚举类型的特性,以及位运算的用法。同时探讨了malloc和free在内存管理中的作用,比较了数组和链表的不同优势。
摘要由CSDN通过智能技术生成

1.共用体定义:
    union 公用名 {
        数据类型1 成员变量1;
        数据类型2 成员变量2;
        数据类型3 成员变量3;
        ..
    };
    注意: 1.结构体每个成员变量空间独立
             2.共用体每个成员变量空间共享的
2.内存大小端
    内存小端:内存低地址存放低数据位,内存高地址存放高数据位
    内存大端:内存低地址存放高数据位,内存高地址存放低数据位
3.枚举类型:
    enum 枚举类型名 
    {
        枚举常量1,
        枚举常量2,
        枚举常量3, 
        ..
    };
    注意:
        1.枚举变量的值在枚举常量中选择其一作为它的值
        2.枚举常量默认为int类型,第一个枚举常量的值默认为0,后续枚举常量的值为前一个枚举常量的值+1 
2.位运算:
    &       按位与               与0得0
    |       按位或               或1置1 
    ^       按位异或           相同为0,相异为1 
    ~       按位取反
    >>      右移               右移n位 = 缩小, 数据 / 2^n
    <<      左移               左移n位 = 放大, 数据 * 2^n 
    将字节中第n位置1:
        num = num | (1 << n);
    将字节中第n位置0:
        num = num & ~(1 << n);
    不使用中间变量实现两个变量值的交换:
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;

内存管理:
    1.malloc 
      void *malloc(size_t size);
      功能:
        申请堆区空间
      参数:
        size:申请堆区空间的大小
      返回值:
        成功返回堆区空间首地址
        失败返回NULL
    2.free 
      void free(void *ptr);
      功能:
        释放堆区空间
      参数:
        ptr:堆区空间首地址
      返回值:
        缺省

数组:
    1.空间连续(访问数据方便、空间必须连续)
    2.数组元素必须是有限
    3.数组插入、删除元素效率低

链表:
    1.空间不需要连续(访问数据麻烦、空间不需要连续,可以使用小的分散空间)
    2.链表元素可以没有上限
    3.链表插入、删除元素效率高

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值