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

大型网站设计方案移动互联网应用程序开发

大型网站设计方案,移动互联网应用程序开发,oa系统办公平台,设计官网论坛揭秘C语言结构体#xff1a;通往内存对齐的视觉之旅 引言 在C语言的编程旅程中#xff0c;结构体#xff08;structs#xff09;是一个关键而强大的概念。结构体不仅允许我们组织和存储不同类型的数据#xff0c;而且通过深入了解内存对齐#xff0c;我们可以更好地优化…揭秘C语言结构体通往内存对齐的视觉之旅 引言 在C语言的编程旅程中结构体structs是一个关键而强大的概念。结构体不仅允许我们组织和存储不同类型的数据而且通过深入了解内存对齐我们可以更好地优化程序性能。在这篇博客文章中我们将全面研究C语言结构体包括定义、变量创建、初始化以及内存对齐等方面。通过丰富的图示和深入的代码解读我们将带你深入探索这一重要的数据结构。 1. 结构体类型的定义 首先我们需要了解如何定义一个结构体类型。结构体类型是用户自定义的数据类型通过struct关键字实现。下面是一个简单的例子 struct Stu {char name[50];int age;float height; };Stu结构体包含了姓名、年龄和身高三个成员。 2. 结构体变量的创建与初始化 结构体类型定义后我们可以创建相应的结构体变量并进行初始化。以下是一个例子 #include stdio.h struct Stu {char name[20];//名字int age;//年龄char sex[5];//性别char id[20];//学号 }; int main() {//按照结构体成员的顺序初始化struct Stu s { 张三, 20, 男, 20230818001 };printf(name: %s\n, s.name);printf(age : %d\n, s.age);printf(sex : %s\n, s.sex);printf(id : %s\n, s.id);//按照指定的顺序初始化struct Stu s2 { .age 18, .name lisi, .id 20230818002, .sex ⼥printf(name: %s\n, s2.name);printf(age : %d\n, s2.age);printf(sex : %s\n, s2.sex);printf(id : %s\n, s2.id);return 0; }3.内存对齐程序性能的守护者 内存对齐对于提高程序性能至关重要。它确保结构体中的每个成员从其大小的倍数地址开始存储以最小化内存访问时间。 3.1 对齐规则 首先得掌握结构体的对齐规则 结构体的第⼀个成员对齐到和结构体变量起始位置偏移量为0的地址处其他成员变量要对齐到某个数字对齐数的整数倍的地址处。 对齐数 编译器默认的⼀个对⻬数 与 该成员变量大小的较小值。 VS 中默认的值为 8结构体总大小为最⼤对齐数结构体中每个成员变量都有⼀个对齐数所有对齐数中最大的 整数倍。如果嵌套了结构体的情况嵌套的结构体成员对⻬到⾃⼰的成员中最大对齐数的整数倍处结构 体的整体大小就是所有最⼤对齐数含嵌套结构体中成员的对齐数的整数倍。 3.2练习 typedef struct {int a;char b;short c;short d; }AA_t;int main() {printf(%d\n, sizeof(AA_t));return 0; }#include stdio.h union Un {short s[7];int n; }; int main() {printf(%d\n, sizeof(union Un));return 0; }4.实际案例取消内存对齐 #include stdio.hstruct PackedData {char a;int b;char c; } __attribute__((packed));int main() {struct PackedData packedStruct;printf(PackedData的大小%zu 字节\n, sizeof(packedStruct));return 0; }通过上面的代码我们演示了如何通过__attribute__((packed))取消结构体的内存对齐进而影响结构体的大小。 5.结论 通过这篇博客的全方位解读你应该对C语言中的结构体有了更深入的了解。从定义到初始化再到内存对齐我们用图解和案例为你展现了结构体的方方面面。希望这篇文章能够帮助你更好地掌握C语言结构体为你的编程之路增添亮丽的一笔。
http://www.hkea.cn/news/14472309/

相关文章:

  • 打开网站搜索wordpress性能差
  • 做暧网站免费新手制作网页的方法
  • 上海 有哪些做网站的公司广州建站网络公司
  • h5搭建百度seo怎么关闭
  • 淘宝网站开发选什么类目做软装在那些网站找家具
  • 商城网站源码下载哪些网站可以做调查赚钱
  • 西安企业网站建设模板安阳房产网
  • 手机可以建立网站吗石家庄网站建设登录
  • 河南做网站的公司有哪些什么后台做网站安全
  • 教育培训网站建设ppt模板有哪些网站做团购最好
  • 南宁哪个公司做网站建设免费网站系统
  • 自己做的网站打开很慢给别的公司提供网站建设
  • 凡科建设网站怎样收录百度已有网站开发app
  • 那些网站做网批wordpress搜索 文章
  • 河北邯郸做网站的公司网站建设需要资质
  • 建设银行个人网银登录seo百度优化排名
  • 免费注册网站域名可以用吗网站建设教程自学
  • 关于棋牌游戏网站建设文案天津河东做网站哪家好
  • 建立购物网站的目的网站建设 的销售图片
  • 免费psd模板网站wordpress 微信绑定
  • 代帮企业做网站qq营销软件开发
  • 箱包商城网站建设建设网站最重要的是什么意思
  • 怎么在手机上做微电影网站京东商城网上购物商城
  • 外贸品牌网站设计德州手机网站建设电话
  • 17网站一起做网店池尾商圈做移动网站优化优
  • php商业网站制作青海建筑人才网
  • 网站k高端设计公司
  • 海口网站开发公司电话网页设计考试
  • wordpress点击图片wordpress最佳速度优化
  • 可以做 描文本链接的网站深圳网站建设公司jsp