C 构造类型 数组、枚举、联合体、结构体(位段) 字节对齐 和 大小端存储

枚举.枚举:被命名的标签常量(对事物的列出)---类型的构造-------enum key{   UP,                             //成员<标签常量:默认第一个为0 后一个总是前一个的值加一>   DOWN,   LEFT,   RIGHT=100,            //后面的标签常量加一   UNKNOW,};enum ...
摘要由CSDN通过智能技术生成

枚举

  • .枚举:被命名的标签常量(对事物的列出)

---类型的构造-------
enum key{
   UP,                             //成员<标签常量:默认第一个为0 后一个总是前一个的值加一>
   DOWN,
   LEFT,
   RIGHT=100,            //后面的标签常量加一
   UNKNOW,
};

enum key yy;声明枚举变量

 UP=140;                                error  成员为标签常量 不可改变

 yy=UP;                                  可以赋某个成员 也可以直接当作整变量型用
-----------------------


//匿名枚举//
enum{
   blue,
   red,
   black,
   white,
};

大小端存储

大小端    :         大于一个字节的数据由于不同CPU特性存储分为大端存储和小端存储


小端存储:         低数据位存储在低字节(地址) 高数据位存储在高字节(地址)
大端存储:         低数据位存储在高字节(地址) 高数据位存储在低字节(地址)

 

字节对齐


字节对齐:结构或联合的成员处于特定的地址


1.每个成员要在能被其空间大小整除的地址
2.整体结构大小要为最大成员空间大小的整数倍

3.如果成员空间大小大于平台对齐字节大小,则按平台对齐字节大小算
  如:某平台以4字节对齐 那么double成员只需要在被4整除的地址即可 整体空间也只需4的整数倍

设置为4字节对齐
#pragma  pack(4)


取消字节对齐:<在用网络发送结构,用结构读文件格式头,用结构作协议要取消字节对齐>
#pragma  pack(1)


恢复默认字节对齐
#pragma  pack()
<

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值