结构体对齐规则总结
1、结构体对齐规则关于结构体对齐上,总结大致有两个规则需要遵守 规则1:偏移量对齐简单来说,偏移量即为该元素与地址起始点的差值。 成员的对齐值为该成员大小和系统对齐值中的最小值,在32位系统中,系统对齐值为4,64位系统中则为8,同时也可通过#pragma pack(n):设置n字节对齐。成员起始地址的偏移量必须是对齐值的整数倍。 举个例子(假设64位系统)12345struct Demo{ char i; int x; double y;}; 该结构体中: 成员i的对齐值为min{1,8} = 1,偏移量为0 成员x的对齐值为min{4,8} = 4,偏移量需为4的整数倍,即为4,所以成员x为4到7 成员y的对齐值为8,偏移量需为8的整数倍,即为8,地址为8-15 综上所述,他占用字节为16。 规则2:结构体总大小对齐结构体占用的字节数一定为最大成员对齐值的整数倍。 2、指针 一级指针 二级指针 函数指针 (未完待续…)
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment
Hello World - 我的博客起点
写在前面这是我博客的第一篇文章。从今天起,我会在这里记录学习路上的每一步。 为什么开始写博客学习如果只是输入而没有输出,理解就很难深入。把学到的东西用自己的话写出来,是检验是否真的掌握的最好方式。 接下来的计划我打算用这个博客做几件事: 记录学习笔记:把每个新学到的概念整理成文章 沉淀踩坑经验:遇到的错误和解决方案 绘制学习地图:在「学习路线」页面持续更新成长轨迹 写给一年后的自己不知道一年后回看这篇文章会是什么感受,但希望那时的我,已经走出了今天还看不清的那条路。 这篇文章使用 Hexo + Butterfly 主题搭建,部署在 GitHub Pages。