结构体(包括对齐) 枚举 联合

一、判断结构体大小

 解释:

 

 

 

修改默认对齐数

如何修改默认对齐数呢?

要通过#pragma这个预处理指令,可以改变我们的默认对齐数。

但修改的默认对齐数必须是2 ^ n( n>=0)

结论:

结构在对齐方式不合适的时候,我么可以自己更改默认对齐数。

一.什么是位段
位段 (bit-field)是以位为单位来定义结构体 (或联合体)中的成员变量所占的空间。

注意点:1.位段的成员必须是int、unsigned int 或者signed int、char

               2.位段的成员名后面有一个冒号和一个数字
      位段的空间上是按照需要以4字节(int)或者1字节(char)来开辟

 

 在内存中储存的方式:

地址为16进制

联合大小的计算
联合的大小至少是最大成员的大小。
当最大成员大小不是最大对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍。

以下证明 他们地址相同。

 可以判断大小端:

 

 

枚举常量
枚举常量就是将一些(不看作常量)字符定义成常量。我们知道#define a 3,就是将a定义成立了常量3。枚举的出现使定义常量变得方便,一下可以定义一堆,而且也方便调试。

枚举的定义

enum 枚举名

{

成员列表,(用逗号隔开

}变量列表;

枚举的特点

枚举常量就是{ }括号里的内容,系统会默认从枚举常量的大小从0依次加1,我们也可以给成员赋值,没赋值的就比前一个大1。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值