zoukankan      html  css  js  c++  java
  • Linux学习---自定义数据类型

    • struct    结构体 (地址递增)

      eg:struct myabc{

          unsigned int a;

          unsigned int b;

          unsigned int c;

          unsigned int d;

        };

    注:  int        i;

        struct myabc       buf;     //struct myabc等同于int

    字节对齐: 

    结构体大小是4的倍数,顺序不同会影响其大小。

     eg:struct abc{

    char a;

    short e;

    int b;

    }; //sizeof(abc) = 8

    struct my{

    char a;

    int b;

    short e;

    }; //sizeof(my) = 12 

    • union  联合体(共用起始地址)
    • enum  枚举 (整型常数的集合)

        eg1:#define MOD 0

          #define TUE  1

          #define  WED 2

        eg2:enum abc{MOD ,TUE,WED} ; //默认从0开始,即MON = 0,TUE = 1,,,,,可以给首元素赋初值,默认递增(+1)。

        上述两例等同。

        eg3:enum abc{MON ,TUE,WED} ;

            enum abc a1 = MOD;

            printf("%lu ",sizeof(a1));      //输出结果为4,取一个值(32bit)。

    •  typedef (别名)

      eg:  int a  =170;

          len_t a =170;  

      eg: int a;      //a是一个int型的变量,

            typedef int len_t;   //a是一个int型的外号。

          此时 len_t 170; 表示170为int型。

  • 相关阅读:
    [Luogu 2261] CQOI2007 余数求和
    [Luogu 3178] HAOI2013 树上操作
    「模板」 树链剖分 HLD
    「模板」 线段树——区间乘 && 区间加 && 区间求和
    [Luogu 2221] HAOI2012 高速公路
    [Luogu 3973] TJOI2015 线性代数
    「模板」 01 Trie实现平衡树功能
    [Luogu 1640] SCOI2010 连续攻击游戏
    [Luogu 1402] 酒店之王
    [Luogu 1963] NOI2009 变换序列
  • 原文地址:https://www.cnblogs.com/BANLOONG/p/10447789.html
Copyright © 2011-2022 走看看