zoukankan      html  css  js  c++  java
  • 【c专家编程】分析c语言的声明

    联合:

    在结构中,每个成员依次存储,而在联合中,所有成员都从偏移地址零开始存储,联合一般被用来节省空间,用法和struct相同。

    union bits32_tag {
        int whole; // 一个32位的值
        struct {char c0, c1, c2, c3;} byte; //4个8位的字节
    };
    
    int main()
    {
        bits32_tag value;
        value.whole = 0b1111111111111111;
        cout << "value.whole: " << value.whole << endl; // 65535
        cout << "c0: " << (size_t)value.byte.c0 <<endl; // 4294967295
        cout << "c1: " << (size_t)value.byte.c1 <<endl; // 4294967295
        cout << "c2: " << (size_t)value.byte.c2 <<endl; // 0
        cout << "c3: " << (size_t)value.byte.c3 <<endl; // 0
        return 0;
    }

    枚举:把一串名字与一串整型值联系在一起

    格式:enum 可选标签 {...} 可选变量定义;

    enum sizes {
        small = 7,
        medium,
        large = 10,
        humungous
    };
    
    int main()
    {
        cout << small << " " << medium << " " << humungous ;
        return 0;
    }

    缺省情况下,整型值从零开始,如果对列表中的某个标识符进行了赋值,那么其后的标识符的值比所赋的值大1。枚举有个优点,#define定义的名字一般在编译的时候被丢弃(被值给取代),而枚举名字则通常一直在调试器中可见,可以在调试代码时使用它们。

  • 相关阅读:
    shell脚本大小写转换
    python写xml及几个问题
    Java集合系列导读
    Java集合系列之Collection接口
    并发编程之锁机制
    Java中的堆内存和栈内存
    Java与ElasticSearch的交互操作
    ElasticSearch基础概念
    Java的对象和类
    Spring Validator参数校验
  • 原文地址:https://www.cnblogs.com/ljygoodgoodstudydaydayup/p/6736198.html
Copyright © 2011-2022 走看看