zoukankan      html  css  js  c++  java
  • 【C】Re10 共用体、枚举、类型定义

    Union 联合体共用体

    结合体:

    每个成员的内存空间都是独立存在的,互不干涉

    int 成员、double 成员、char 成员 = 4 + 8 + 1 【13字节大小】 取成员字节占用之和作为这个结构体的大小

    联合体:

    每个成员的内存空间在一起共用

    int 成员、double 成员、char 成员 = 8 > 4 > 1 【8字节大小】 取成员最大字节占用类型作为这个共用体的大小

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    union U {
        int a;
        short b;
        char c;
    };
    void test() {
        printf("union U size -> %llu
    ", sizeof(union U));
    
        union U u = { // 共用体只有占用字节大的那个数据类型获取,小类型会被覆盖
                100,
                20,
                30
        };
    
        printf("sum -> %d
    ", u.a + u.b + u.c); // 100 + 100 + 100
    }
    
    void test2() {
        union U u = { // 所有的成员变量最后都会指向最大字节占用的成员属性
                100,
                20,
                30
        };
        u.a = 20;
        printf("sum -> %d
    ", u.a + u.b + u.c);
        u.b = 30;
        printf("sum -> %d
    ", u.a + u.b + u.c);
        u.c = 40;
        printf("sum -> %d
    ", u.a + u.b + u.c);
    }
    
    int main() {
        test2();
        return 0;
    }

    Enumeration 枚举

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    enum Season {
        Spring,
        Summer,
        Autumn,
        Winter
    };
    
    enum boolean {
        false = 0, true = 1
    };
    
    int main() {
    
        enum boolean isTrue = true;
        if (isTrue) {
            printf("yes is true");
        }
    
        return 0;
    }

    TypeDef的使用

    给数据类型起一个别名

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    typedef int integer ; // 基本数据类型别名
    
    struct S {
        int aaa;
        char bbb;
    };
    typedef struct S sss ; // 结构体数据类型别名
    
    void typedefUsage() {
        int aaa = 100;
        integer aa = 100;
    }
    
    typedef int * integerPointer ; // 适合给指针类型起别名
    typedef char * characterPointer ;
    
    int main() {
        return 0;
    }
  • 相关阅读:
    css随笔7
    css随笔6
    css随笔5
    *css随笔4
    css3随笔3
    css随笔2
    css随笔1
    HTML总结
    HTML随笔2
    消息转发原理
  • 原文地址:https://www.cnblogs.com/mindzone/p/13962901.html
Copyright © 2011-2022 走看看