关于结构体的一些讲解,恳请大家指正
2017-07-10 17:33
267 查看
结构体主要分为三个部分:结构体、联合体、和枚举三个类型。
一、结构体
1、形式为:struct 标签
{
成员
};
在main 函数中定义变量时为:struct 标签 变量名
2、计算结构体大小
例如
该结构体的大小为8字节,
原因如下:
这其中涉及到了对齐问题,其对其原则为:
(1)结构的第一个成员永远放在0偏移处;
(2)从第二个成员开始都要对齐到某个对齐数的整数倍
【对齐数为结构成员自身大小和默认对齐数(VS:8 Linux:4)的较小值】
(3)结构自身的大小必须是最大对齐数的整数倍
二、联合体 union
1、计算联合体大小
共同占用一块空间,空进大小是最大整形的整数倍【最大字节数+部分字节数(最后的空余字节数)】
三、枚举 enum
注:枚举类型从第一个成员开始算0,依次往后推算1 2 3......
一、结构体
1、形式为:struct 标签
{
成员
};
在main 函数中定义变量时为:struct 标签 变量名
2、计算结构体大小
例如
该结构体的大小为8字节,
原因如下:
这其中涉及到了对齐问题,其对其原则为:
(1)结构的第一个成员永远放在0偏移处;
(2)从第二个成员开始都要对齐到某个对齐数的整数倍
【对齐数为结构成员自身大小和默认对齐数(VS:8 Linux:4)的较小值】
(3)结构自身的大小必须是最大对齐数的整数倍
二、联合体 union
1、计算联合体大小
共同占用一块空间,空进大小是最大整形的整数倍【最大字节数+部分字节数(最后的空余字节数)】
三、枚举 enum
注:枚举类型从第一个成员开始算0,依次往后推算1 2 3......
相关文章推荐
- 个人对于微信公众平台开发的一些整理,后续会有补充,欢迎大家给予指正。一、关于如何获取微信公众原始号
- 我的一些对于struts的感觉,希望大家指正
- 关于在项目中使用开源项目的疑惑,恳请大家给点意见!
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 写给刚接触400的朋友--关于as400的一些讲解(转)
- 关于Windows CE菜单的一些讲解
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 关于结构体的一些问题
- 一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 关于网站的推广方面,自己的一些愚见和大家分享一下。
- 最近写了一些关于.net中js操作的通用函数,希望和大家分享 2
- 关于Utf8编码的几个函数最近一段时间老弄Utf8编码,工作时写了几个函数,给大家指正一下(转载)
- 关于微软的OBA架构理解(欢迎大家批评指正^_^)
- 个人需要,收集了一些关于Oracle 10g OCP认证的资料,与大家分享
- 关于索引节点(inode,也叫i节点)、硬链接和软链接的一些总结,请指正。
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 想在每个文件头部加一些关于该文件的信息,如作者,创建时间,用途等,大家一般是怎么操作的?
- 关于BREW中回调函数的一些讲解
- 关于platform_device一些讲解--由bluesleep带来的tip