C语言字节对齐(以32位系统为例)
来源:互联网 发布:淘宝网什么时候成立的 编辑:程序博客网 时间:2024/05/21 08:01
1.
2.计算机为什么要对齐?
3.对齐的实现:
#include<stdio.h>
int main(void)
{
struct A
{
char a;
short b;
int c;
};
printf("结构体类型A在内存中所占内存为:%d字节。\n",sizeof(struct A));
return 0; }
#include<stdio.h>
int main(void)
{
struct A
{
short b;
int c;
char a;
};
printf("结构体类型A在内存中所占内存为:%d字节。\n",sizeof(struct A));
return 0; }
4.对齐算法:
1)数据类型自身的对齐值:就是基本数据类型的自身对齐值,比如char类型的自身对齐值为1字节,int类型的自身对齐值为4字节。
2)指定对齐值:预编译命令#pragma pack (value)指定的对齐值value。
3)结构体或者类的自身对齐值:其成员中自身对齐值最大的那个值,比如以上的struct A的对齐值为4。
4)数据成员、结构体和类的有效对齐值:自身对齐值和指定对齐值中较小的那个值。
来自:http://blog.sina.com.cn/s/blog_715de2f50100pgs3.html
- C语言字节对齐(以32位系统为例)
- C语言字节对齐(以32位系统为例)
- C语言字节对齐(以32位系统为例)
- C语言字节对齐(以32位系统为例)
- [转载]C语言字节对齐(以32位系统为例)
- c语言中的对齐问题(以32位机为例)
- C语言字节对齐
- C语言字节对齐
- c语言字节对齐
- C语言字节对齐
- C语言字节对齐
- C语言字节对齐
- C语言字节对齐
- C语言字节对齐
- C语言字节对齐
- C语言字节对齐
- C语言字节对齐
- C语言字节对齐
- Struts2——(3)ValueStack(值栈)
- html5 自学_First Day_2013.10.23
- 12本北美比较常用的机器学习/自然语言处理/语音处理经典书籍 .
- "Could not resolve placeholder"解决方案
- shell中的环境变量和自定义变量
- C语言字节对齐(以32位系统为例)
- Navicat 8 for MySQL的注册码
- 运行微信sdk demo工程时的问题
- readUTF()和read()方法的区别
- #define宏定义的陷阱
- vs2010创建和使用动态链接库(dll)
- visuall assist x 破解方法
- Android中对手机文件进行读写
- 蓝牙通信