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型。

  • 相关阅读:
    .net core使用EasyNetQ做EventBus
    .NET Core DI 手动获取注入对象
    设置Jexus开机启动
    centos7开放关闭防火墙端口
    linux防火墙开放端口
    转 Jexus-5.6.3使用详解
    Mysql存储过程
    Reids笔记
    Lucene笔记
    Spring Junit 测试用例
  • 原文地址:https://www.cnblogs.com/BANLOONG/p/10447789.html
Copyright © 2011-2022 走看看