自定义数据类型--联合体、枚举、结构体

    xiaoxiao2021-03-25  143

    union  A   联合体:共用内存空间,空间大小为占用空间最大的元素空间大小

    {

    char c;

    int i;

    };

    判断系统大小端

    int endian()

    {

    union A  u_a;

    u_a.i=1;

    return u_a.c;

    }

    单个数据

    小端 低位存放在低地址,高位存放在高地址)     大端(低位存放在高地址,高位存放在低地址)

                     0000 0001 0100 0000

    结果:1:小端    0:大端

    enum Item        枚举:自定义离散值

    { 默认

    pen,               0

    pencil=2,        2 //定义后面是逗号

    ballpen,          3(2+1)

    }

    定义:enum Item  thing=pen;

    无名枚举,定义常量

    enum

    {

    SIZE=10,

    };

    函数中直接使用SIZE

    struct          结构体:占用内存空间为结构体所有元素所占空间之和  注意4字节对齐

    {

    char a;

    int b;

    }TS;

    struct s_a

    {

    int c;

    int d[2];

    };

    定义: struct s_a  a;

    自定义长度数组

    struct  Array   

    {

    int len;

    int array[]; //要在最后

    };

    struct Array *s_a=(struct Array*)malloc(sizeof(struct Array)+sizeof(int)*4);

    s_a->len=4;

    转载请注明原文地址: https://ju.6miu.com/read-3264.html

    最新回复(0)