结构体变量的内存结构
2015-07-21 19:05
253 查看
在C语言中,在默认情况下,编译器规定各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节的倍数。
例如:
struct MyStruct {
double ddal;
char dda;
int type;
};
得到的结果为:16
所以,在计算结构体变量的大小时:
①上面的所有字节数的总和,必须是下一个类型的整数倍数。
②总字节数一定是最大类型的整数倍。
例题:
char a;
double b;
int e;
得:20
例如:
struct MyStruct {
double ddal;
char dda;
int type;
};
得到的结果为:16
所以,在计算结构体变量的大小时:
①上面的所有字节数的总和,必须是下一个类型的整数倍数。
②总字节数一定是最大类型的整数倍。
例题:
char a;
double b;
int e;
得:20
相关文章推荐
- OC_数组
- iOS开发 ----- C小型学生信息管理系统,单向链表
- 【线段树】 HDU 5289 Assignment
- HD2026 首字母变大写
- Java中的private、protected、public和default的区别
- ffmpeg关于avformat_write_header问题
- dup , dup2 , fcntl锁
- VIM
- 那些成功学和鸡汤文不会告诉你的
- 闭包
- hdoj1020
- window8.1编译hadoop2 eclipse插件,并远程调试hadoop程序
- 【瞎搞】HDU 5288 OO’s Sequence
- Java 二分法查找算法
- HTML5 链接记录
- 单电机板机模型,f22
- 单电机板机模型
- 用java 写 merge sort
- 不要62 (暴力打表)
- 目录条目”SASHELP.EMCREDIT.IGN.SOURCE”不存在