修改默认对齐数
- 用#pragma修改默认对齐数
百度笔试题
- offsetof();
- 计算相对于结构体成员相对偏移量
结构体传参
- Print2好的原因
- 函数传参时 参数是需要压栈的,会有时间和空间上的系统开销
- 如果传递一个结构体对象的时候,结构体过大参数压栈的系统开销就比较大,所以会导致性能的下降
- 结论:结构体传参 最好传址
位段
- 位段的目的是为了节省空间
什么是位段??
位段的声明和结构是相似的,有两个不同:
- 1.位段的成员必须是int, unsigned int ,signed int
- 2.位段的成员后面有一个冒号和一个数字
位段的的内存分配
- 1.位段的成员可以是 int ,unsigned int ,signed int 或者char类型
- 2.位段的空间上是按照需要以4个字节(int)或者(char)的方式开辟的
- 3.位段涉及很多不确定的因素,位段是不跨平台的,注重可移植的程序应该避免使用位段