C语言字节对齐问题
来源:互联网 发布:余文华 大数据 编辑:程序博客网 时间:2024/05/09 05:04
Ubuntu版本32位
linux@xubuntu:~$ uname -arLinux xubuntu 3.5.0-40-generic #62~precise1-Ubuntu SMP Fri Aug 23 17:59:10 UTC 2013 i686 i686 i386 GNU/Linux
C源代码
#include <stdio.h>int main(){ int a; char b; char c; printf ("&a=%p\n",&a); printf ("&b=%p\n",&b); printf ("&c=%p\n",&c); printf ("sizeof(a)=%d\n",sizeof(a)); struct node { int e; char f; char g; }; struct node A; printf ("&(A.e)=%p\n",&(A.e)); printf ("&(A.f)=%p\n",&(A.f)); printf ("&(A.g)=%p\n",&(A.g)); printf ("sizeof(A)=%d\n",sizeof(A)); return 0;}
输出结果
linux@xubuntu:~/test$ ./a.out &a=0xbf9a42e8&b=0xbf9a42ee&c=0xbf9a42efsizeof(a)=4&(A.e)=0xbf9a42e0&(A.f)=0xbf9a42e4&(A.g)=0xbf9a42e5sizeof(A)=8
问题
为什么定义的局部变量的int a与char b之间是间隔了6个字节。按字节对齐方式的话应该是结构体里的这种对齐方式,int e与char f间隔4字节,在char g后面填充2字节。
- C语言字节对齐问题
- C语言:字节对齐、问题
- C语言字节对齐问题
- C语言字节对齐问题
- C语言字节对齐问题
- C语言字节对齐问题
- C语言中的字节对齐问题
- C语言字节对齐问题(转载)
- C语言字节对齐问题(转载)
- C语言中的字节对齐问题
- 浅谈C语言字节对齐问题
- C语言编程中的字节对齐问题
- 字节对齐问题(C语言)
- c语言字节对齐问题(一)
- c语言字节对齐问题(二)
- C语言中的字节对齐问题
- 再谈C语言中的字节对齐问题
- c语言字节对齐问题(二)
- c# winform 程序打包部署
- 使用Vector类编程
- MVC学习笔记七:模型验证【上】
- 如何理解CPU利用率
- 数据库基础--数据库系统概述
- C语言字节对齐问题
- failed to get the task for process
- 数据库基础--数据模型
- 搜索中客户的访问日志到底能用来做什么(7)?
- 中文乱码问题解决方法
- listview在adapter,notifyDataSetChanged之后怎样才能不回到最上面
- Java基础5--数组--数组练习
- webVIew js调 本地 应用
- c++and c read test