当前位置: 首页 > news >正文

常州网站制作包括哪些微商新零售系统

常州网站制作包括哪些,微商新零售系统,最少的钱怎么做网站,奉贤做网站#x1f921;博客主页#xff1a;醉竺 #x1f970;本文专栏#xff1a;《C语言深度解剖》 #x1f63b;欢迎关注#xff1a;感谢大家的点赞评论关注#xff0c;祝您学有所成#xff01; ✨✨#x1f49c;#x1f49b;想要学习更多C语言深度解剖点击专栏链接查看博客主页醉竺 本文专栏《C语言深度解剖》 欢迎关注感谢大家的点赞评论关注祝您学有所成 ✨✨想要学习更多C语言深度解剖点击专栏链接查看✨✨  目录 1. 结构体内存大小计算引例  2. 结构体内存对齐规则  2.1对齐规则1  2.2对齐规则2  2.3对齐规则3  2.4对齐规则4 3. 实战  上一篇文章中我们学习了结构体的进阶其中介绍了结构体内存对齐的规则由于结构体内存对齐需要讲解的篇幅较长所以这里专门写了一篇文章来讲解。感兴趣的可以先阅读这一篇文章 《结构体进阶学习》https://blog.csdn.net/weixin_43382136/article/details/138768281 1. 结构体内存大小计算引例  下面实例中结构体的类型你觉得是多大 (Visual Stdio环境下) #include stdio.h struct Stu {char name;int age; };int main() {printf(%d, sizeof(struct Stu));return 0; } 初学结构体的人会认为结构体类型的大小是其中各变量的大小之和上述代码中结构体是 5 字节其实并非如此下面是运行结果 8 字节 为什么输入结果是8而不是5呢这与结构体在内存中特殊的存储方式有关接下来就引出我们本章的主题 《结构体内存对齐》 2. 结构体内存对齐规则  1. 第一个成员存储在与结构体变量偏移量为0的地址处。 2. 其他成员变量要对齐到某个数字对齐数的整数倍的地址处。     对齐数 编译器默认的一个对齐数 与 该成员大小的较小值。 VS中默认的值为8GCC环境下没有默认对齐数此时结构体成员自身的大小就是对齐数 3. 结构体总大小为最大对齐数每个成员变量都有一个对齐数的整数倍。 4. 如果嵌套了结构体的情况嵌套的结构体对齐到自己的最大对齐数的整数倍处结构体的整体大小就是所有最大对齐数含嵌套结构体的对齐数的整数倍。  上述规则猛的一看会有点懵什么跟什么啊请继续往下阅读。 2.1对齐规则1  第一个结构体成员在与结构体变量偏移量为0的地址处。  偏移量结构体变量中第一个成员的地址 相对于首地址的距离。 对齐规则1中偏移量为0就代表着结构体变量中第一个成员是从开辟的整个结构体变量空间的首地址开始存储。 这里我们用以下结构体作为一个例子下面结构体变量的大小为12字节 struct S1 {char c1;int i1;int i2; }; 我们一步步画图来分析 c1 存储位置 2.2对齐规则2  其他成员变量要对齐到某个数字对齐数的整数倍的地址处。 对齐数 编译器默认的一个对齐数 与 该成员大小的较小值。 VS中默认的值为8 GCC环境下没有默认对齐数此时结构体成员自身的大小就是对齐数 1. 当前是VS环境下默认对齐数是8后面两个成员分别是 int i1, int i2它们都是4字节因此在VS环境下这两个成员变量的对齐数 就是 “4”。 2. 根据规则2其他成员变量要对齐到 对齐数的整数倍地址处已知后面两个成员 i1 和 i2 对齐数是 4 这个规则意味着i1 和 i2 要从偏移量为 4 的整数倍位置开始存储。具体看下图 同理 i2 也是从 偏移量为 4 的整数倍位置开始存储这里由图可知需要从偏移量为 8 的位置开始存储如下图所示 而偏移量为“1,2,3”的空白处则会   2.3对齐规则3  结构体总大小为最大对齐数每个成员变量都有一个对齐数的整数倍。  struct S1 {char c1;int i1;int i2; }; 对于上述的结构体例子应用到规则3其实就已经结束了因为规则4是针对嵌套结构体的。 规则3含义 当结构体中的最后一个成员被正确存放后结构体的总大小并非简单地等于从第一个成员偏移量为0的位置到最后一个成员最后一个字节的长度。而是首先判断出所有成员中对齐数中的最大对齐数c1对齐数是 1i1 和 i2 对齐数都是 4因此整个结构体成员中的最大对齐数是 4.最后如果 从第一个成员偏移量为0的位置到最后一个成员最后一个字节的长度不是 最大对齐数 4 的整数倍则整个结构体占据的总内存需要从最后一个字节继续延伸直到整个结构体大小是 4 的整数倍。 上个例子中最后一个成员 i2 成员存储好之后最后一个字节的位置已经在 偏移量为 11 的位置处了此时整个结构体变量的总大小已经是 12 了12是 最大对齐数 4 的整数倍了所以无需延伸上述结构体S1类型的总大小就是12字节。  2.4对齐规则4 如果嵌套了结构体的情况嵌套的结构体对齐到自己的最大对齐数的整数倍处结构体的整体大小是所有最大对齐数含嵌套结构体的对齐数的整数倍。   对齐规则4 其实跟 对齐规则3类似只不过一个判断成员变量的对齐数一个是 整个结构体的最大对齐数。 这里我们看一个新的例子 S2结构体大小为 20 字节 struct S1 {char c;int i1;int i2; };struct S2 {char a;struct S1 s1; //嵌套结构体char b; }; 3. 实战  接下来会再整一个综合的例子不再做出详细解释看图分析即可。 S1的内存分布 a的对齐数是4b的对齐数是1d的对齐数是8因此 S1整个结构体的最大对齐数是8总体大小为16字节。  S2的内存分布  ch 的对齐数是1s1 的对齐数是8 i 的对齐数是4因此S2结构体类型最大对齐数是8.
http://www.zqtcl.cn/news/704314/

相关文章:

  • 品牌网站建设服务机构wordpress英文改中文
  • 系统开发费外链优化方法
  • 网站建设公司起名网站构建的友情链接怎么做
  • 网站建设湖南wordpress 缓存时间
  • 木藕设计网站大全福州网络营销推广产品优化
  • 建设银行网上官方网站怎么批量修改wordpress文章内容
  • 多肉建设网站的目的及功能定位app网站开发成本
  • 如何保存网站上的图片不显示图片报纸网站建设
  • 网站营销的流程品牌推广方式有哪些
  • 网站开发的条件美术字设计
  • 网站可以自己做服务器么wordpress架站教程
  • 用ps怎么做网站导航条怎么做部署iis网站
  • 酒店 网站构建怎么创建自己的网址
  • 江苏推广网站建设业务个人工作室网站源码带后台
  • 色一把做最好的网站赤峰微信网站建设
  • 指定网站长期建设 运营计划网站淘宝客 没备案怎么做
  • 绵阳网站推广排名知名商业网站有哪些
  • 简要描述创建商务站点的商务天津建设工程合同备案网站
  • 做展示空间设计的网站wordpress调用作品分类
  • 网站怎么做访问量统计百度百科怎么创建自己
  • 泉州开发网站的公司有哪些网站页面相似度查询工具
  • 卖文章的网站源码咸阳做网站的公司电话
  • 网站建设案例百度云怎么在手机上传百度云wordpress
  • 传媒公司取名seo网站推广怎么收费
  • 网站建设具体详细过程WordPress usdt收款
  • 网站标题应怎设置生产备案号怎么查询网站
  • 怎样建立网站目录结构网站 项目方案
  • jsp做网站还响应式科技公司网站模板
  • 杭州网站建设设计公司做阀门网站
  • 用模板建站青岛企业网站制作公司