关于结构体的大小
来源:互联网 发布:网络职业技术学校 编辑:程序博客网 时间:2024/04/30 19:43
如何计算结构体的大小呢?
常见的类型大小:比如对于32位系统来说,sizeof(char) = 1; sizeof(int) = 4 ,size of(short)=2, sizeof(float)=4;sizeof(double)=8
偏移量。偏移量指的是结构体变量中成员的地址和结构体变量地址的差。结构体大小等于最后一个成员的偏移量加上最后一个成员的大小.
但要注意两个原则:
一、结构体变量中成员的偏移量必须是成员大小的整数倍(0被认为是任何数的整数倍)
二、结构体大小必须是所有成员大小的整数倍。
三, 如果结构体中的成员又是另外一种结构体类型时,只需把其展开即可。但有一点需要注意,展开后的结构体的第一个成员的偏移量应当是被展开的结构体中最大的成员的整数倍.
下面举几个例子来说明:
1.
struct stu1
{
int i;
char c;
int j;
};
sizeof (stu1)=12;
2.
struct stu2
{
int k;
short t;
};
sizeof(stu2)=8;
3.
struct stu3
{
char c1;
int i;
char c2;
}
sizeof(stu3) =12
struct stu4
{
char c1;
char c2;
int i;
}
sizeof(stu4)=8;
struct stu5
{
short i;
struct
{
char c;
int j;
} ss;
int k;
}
sizeof(stu5)=16;
- 关于结构体的大小
- 关于结构体的大小
- 关于结构体的大小讨论
- 关于嵌套结构体大小的计算
- 关于结构体包含结构体的类型数据大小
- 关于结构体,联合体,位字段的大小的
- 结构体的大小
- 结构体的大小
- 结构体的大小
- 结构体的大小
- 结构体的大小
- 结构体的大小
- 结构体的大小
- 结构体的大小
- 结构体的大小
- 结构体的大小
- 结构体的大小
- 结构体的大小
- php debug 安装
- 求解21位花朵数的解法
- C++系统相关:简单的多线程编程
- 原创(SEO角度)内容的获取思路
- Android手机无法使用debug解决方法
- 关于结构体的大小
- 动态创建菜单
- V4L2视频采集操作流程和接口说明
- 获取位图资源句柄
- liunx下vi命令详解
- 公司散伙啦。杯具!反思!
- 转--一些mfc-cwnd
- Javascript的this用法
- linux中常见的信号