昆山建设银行交学费的网站wordpress的登入页面

pingmian/2025/10/8 12:37:28/文章来源:
昆山建设银行交学费的网站,wordpress的登入页面,湖南建设人力资源湖南网站建设,wordpress 撰写设置文章目录 1. 结构体1.1 结构体的声明1.2 结构体成员的访问1.3 匿名结构体1.4 结构体的自引用1.5 结构体内存对齐#xff08;计算结构体的大小#xff09;1.6 结构体传参1.6.1 传值传递1.6.2 传址传递#xff08;使用指针#xff09; 2. 位段2.1 什么是位段#xff1f;2.2 … 文章目录 1. 结构体1.1 结构体的声明1.2 结构体成员的访问1.3 匿名结构体1.4 结构体的自引用1.5 结构体内存对齐计算结构体的大小1.6 结构体传参1.6.1 传值传递1.6.2 传址传递使用指针 2. 位段2.1 什么是位段2.2 位段的内存分配2.3 位段的跨平台问题 3. 枚举3.1 枚举的定义3.2 枚举的好处 4. 联合共用体4.1 联合类型的定义4.2 联合大小的计算 1. 结构体 结构体是C语言中用于表示一组相关数据的自定义数据类型。结构体允许将多个不同类型的数据组组合在一起以便更方便地管理和操作这些数据。 1.1 结构体的声明 struct tag {member-list; }variable-list;使用 struct 关键字声明结构体的名称。在大括号 {} 内部定义结构体的成员变量成员变量的类型可以是标量、数组、指针甚至是其他结构体每个成员变量都有一个类型和一个名称成员之间用分号 ; 分隔。最后以分号 ; 结束结构体的定义。 以下代码展示了如何定义一个简单的结构体以用来表示学生信息 #include stdio.h// 定义一个结构体 Student struct Student {char name[20];//名字int age;//年龄double score;//成绩 };int main() {// 声明一个结构体变量并初始化struct Student s1 { zzb, 20, 98};// 访问结构体成员并打印信息printf(学生姓名%s\n, s1.name);printf(学生年龄%d\n, s1.age);printf(学生成绩%.2lf\n, s1.score);return 0; }1.2 结构体成员的访问 在C语言中结构体变量访问其成员一共有如下两种方式 使用点运算符.点运算符用于访问结构体变量的成员。其语法格式如下 结构体变量.成员名 例如上面代码中有一个名为 s1 的结构体变量并且结构体中有一个成员叫做 name我们就可以通过以下方式访问该成员 s1.name zzb;使用箭头运算符-箭头运算符用于访问结构体指针所指向的结构体的成员变量。其语法格式如下 结构体指针-成员名 例如如果有一个名为 ps1 的指向结构体的指针并且结构体中有一个成员叫做 age我们就可以通过以下方式访问该成员 ps1-age 20;1.3 匿名结构体 在C语言中我们可以创建匿名结构体这是一种没有名字的结构体结构体在声明的时候省略掉了结构体标签。该结构体通常用于简单的数据封装或临时数据组织而不需要定义一个有具体名字的结构体类型。 其定义方式如下 匿名结构体在声明和定义的同时创建不需要使用结构体名称。可以直接在需要的地方定义结构体并在大括号 {} 内部定义结构体的成员。 struct {// 成员定义 } 结构体变量名;注意 匿名结构体无法在不同的地方重复使用因为没有结构体名称来引用它。如果需要在多个地方使用相同的结构体结构建议定义具名的结构体类型。 1.4 结构体的自引用 结构体的自引用是指结构体中包含自身类型的成员。这种自引用的结构体通常用于创建复杂的数据结构如树、链表和图等。在C语言中要实现结构体的自引用通常需要使用指针来解决。 以下代码展示了如何创建一个简单的自引用结构体来表示链表节点 #include stdio.h// 定义一个链表节点的结构体 struct ListNode {int data; // 节点数据struct ListNode* next; // 指向下一个节点的指针 };int main() {// 创建链表节点struct ListNode node1, node2, node3;node1.data 1;node2.data 2;node3.data 3;// 连接节点形成链表node1.next node2;node2.next node3;node3.next NULL; // 链表结束// 遍历链表并打印节点数据struct ListNode *cur node1;while (cur ! NULL) {printf(%d , cur-data);cur cur-next;}return 0; }1.5 结构体内存对齐计算结构体的大小 在C语言中结构体内存对齐是编译器为了提高内存访问效率而采取的一种优化策略。关于结构体内存对齐的详细介绍这里可以参考之前写的文章如何计算一个结构体的大小C语言 这里就不再赘述了。 1.6 结构体传参 在C语言中我们可以将结构体作为参数传递给函数。结构体传参的方式有两种传值传递和传址传递使用指针。 1.6.1 传值传递 在传值传递时函数形参是实参的一份临时拷贝这也就意味着在函数内部操作的是结构体的一份拷贝不会影响实参结构体。这种方式适用于结构体较小且复制开销较小的情况。这是因为函数传参的时候参数是需要压栈的。如果传递一个结构体对象的时候结构体过大参数压栈的的系统开销比较大所以会导致性能的下降。 以下代码展示了结构体传值传递的方式 #include stdio.h// 定义一个结构体 struct Point {int x;int y; };// 以传值传递的方式 void modify_point(struct Point p) {p.x 10;p.y 20; }int main() {struct Point p {5, 5};modify_point(p);printf(x: %d, y: %d\n, p.x, p.y); // 输出仍为原始值return 0; }1.6.2 传址传递使用指针 在传址传递时函数接收的是结构体的指针可以通过指针修改实参结构体的内容。这种方式适用于当结构体较大且复制开销较大的情况。 #include stdio.h// 定义一个结构体 struct Point {int x;int y; };// 以传址传递的方式 void modify_point(struct Point *p) {p-x 10;p-y 20; }int main() {struct Point p {5, 5};modify_point(p);printf(x: %d, y: %d\n, p.x, p.y); // 输出已修改后的值return 0; }2. 位段 2.1 什么是位段 位段是一种C语言的结构体成员它可以在结构体定义时指定某个成员变量所占用的二进制位数这是因为有些数据在存储时并不需要占用一个完整的字节而是需要占用一个或几个二进制位即可。 位段的主要目的是节省内存。 其声明语法如下 struct {type member_name : width; };type 表示要使用的整数类型通常是 int、unsigned int 、char(整型家族)等,在C99之后也可以是其他类型。member_name 是位段的名称。width 是该位段占用的比特位数。 以下是一个位段的示例 #include stdio.h// 定义一个包含位段的结构体 struct A {int _a:2;//2个比特位int _b:5;//5个比特位int _c:6;//10个比特位int _d:8;//30个比特位 }; int main() {struct A a;// 设置位段的值a._a 1;a._b 0;a._c 5;a._d 8;printf(_a: %d\n, a._a);printf(_b: %d\n, a._b);printf(_c: %d\n, a._c);printf(_d: %d\n, a._d);return 0; }2.2 位段的内存分配 位段会按照其在结构体中的声明顺序依次分配内存。 位段的成员可以是 int unsigned int signed int 或者是 char 属于整形家族类型。位段的空间上是按照需要以4个字节 int 或者1个字节 char 的方式来开辟的。位段涉及很多不确定因素位段是不跨平台的注重可移植的程序应该避免使用位段。 我们通过下面的例子探究以下位段在vs2013这个平台如何开辟空间的 #include stdio.hstruct S {char a:3;char b:4;char c:5;char d:4; };int main() {struct S s {0};s.a 10;s.b 12;s.c 3;s.d 4; } 这里先假设在一个字节内部先使用低比特位且当一个字节剩余的bit位不足以存下下一个变量时舍弃剩余的bit位为下一个变量重新申请一个字节。 我们打开vs进行调试看下内存里面是如何存储的。 在vs下具体的内存布局和我们假设的一致。 2.3 位段的跨平台问题 int 位段被当成有符号数还是无符号数是不确定的。位段中最大位的数目不能确定。16位机器最大1632位机器最大32写成27在16位机 器会出问题。位段中的成员在内存中从左向右分配还是从右向左分配标准尚未定义。当一个结构包含两个位段第二个位段成员比较大无法容纳于第一个位段剩余的位时是 舍弃剩余的位还是利用这是不确定的。 因此跟结构相比位段可以达到同样的效果虽然可以很好的节省空间但是有跨平台的问题存在。 3. 枚举 枚举是C语言中的一种自定义数据类型用于定义一组命名的整数常量这些常量通常用于表示一组相关的离散值。 3.1 枚举的定义 其基本语法如下 enum enum_name {a,b,c,// ... };num_name 是枚举类型的名称。a, b, c等是枚举常量它们是整数值通常从0开始自动递增。当然在定义的时候也可以赋初值。 以下代码展示了枚举的使用 #include stdio.h// 定义一个枚举类型 enum Color {RED, // 0GREEN, // 1BLUE // 2 };int main() {// 声明一个枚举类型的变量enum Color col;// 给枚举变量赋值col RED;// 使用枚举常量if (col RED) {printf(The color is red.\n);} else if (col GREEN) {printf(The color is green.\n);} else if (col BLUE) {printf(The color is blue.\n);}return 0; }3.2 枚举的好处 枚举常量在整个程序中具有全局作用域可以用作整数值的符号名称以提高代码的可读性。 增加代码的可读性和可维护性和#define定义的标识符比较枚举有类型检查更加严谨。防止了命名污染封装便于调试使用方便一次可以定义多个常量 4. 联合共用体 联合也是C语言中的一种自定义的数据类型与结构体类似但与结构体不同的是 联合的成员共用同一块内存空间只能同时存储其中一个成员的值。这也说明联合的大小虽少是其最大成员的大小。由于联合的成员共用同一块内存空间因此在给一个成员赋值后其他成员的值可能会受到影响。 下面代码的运行结果说明了其特性 #include stdio.h//联合类型的声明 union Un {char c;int i; };int main() {//联合变量的定义union Un un;// 下面输出的结果是一样的吗printf((un.i) %d\n, (un.i));printf((un.c) %d\n, (un.c));//下面输出的结果是什么un.i 0x11223344;un.c 0x55;printf(%x\n, un.i);return 0; }分析如下 4.1 联合类型的定义 联合的基本语法如下 union union_name {// 成员定义 };union_name 是联合类型的名称。 4.2 联合大小的计算 其大小的计算规则遵循以下两个规则 联合的大小至少是最大成员的大小。当最大成员大小不是最大对齐数的整数倍的时候就要对齐到最大对齐数的整数倍。 思考一下下面代码的运行结果是什么 #include stdio.h union Un1 {char c[5];int i; };union Un2 {short c[7];int i; };int main() {//下面输出的结果是什么printf(%d\n, sizeof(union Un1));printf(%d\n, sizeof(union Un2)); ]分析如下 Un2的分析和上述分析一致Un2的大为16。 运行结果如下 这里需要注意的是不同编译器和平台对于联合的对齐方式可能会有所不同这可能会影响联合的总大小。但无论如何联合的大小都不会小于最大成员的大小。 至此本片文章就结束了若本篇内容对您有所帮助请三连点赞关注收藏支持下。 创作不易白嫖不好各位的支持和认可就是我创作的最大动力我们下篇文章见 如果本篇博客有任何错误请批评指教不胜感激

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国建设部建造师网站莱芜搜狗推广哪家好

绝地求生作为当下最火爆的吃鸡游戏,吸引了无数玩家的关注和参与。然而,要成为顶尖的吃鸡玩家,并不简单。在这篇文章中,我们将为你揭露绝地求生玩家最关心的吃鸡要领和细节,为你提供一份全方位的游戏指南! 1…

找人做个网站建设制作报价方案lnmp wordpress lamp

文章目录 概要问题案例解决方法 概要 在小程序里面一般循环使用ref的话会获取不到 问题案例 //这个时自己封装的组件&#xff0c;然后循环使用 <jilianXuanzhe huoqu"huoqu" :ref"jilianXuanzhe i"></jilianXuanzhe>//如果这样使用的话获取…

北京做校园的网站重庆专业微网站建设

在不久前发布的开源虚拟化战略和路线图中,红帽宣称将在未来的3至18个月内,提供四种虚拟化技术和产品,包括:红帽企业Linux、红帽企业虚拟化 Hypervisor、红帽企业服务器虚拟化管理、红帽企业桌面虚拟化管理.今天,他们公布了最新版Red Hat Enterprise Linux, RHEL 5.4.它支持广泛…

石家庄做网站排名公司哪家好网站模板下载好之后如何安装

转载公众号 | 老刘说NLP 安全知识图谱是网络安全领域专用知识图谱&#xff0c;也是知识图谱应用于安全业务的重要工业尝试。当前&#xff0c;安全领域中存在大量的业务数据&#xff0c;建模需求以及应用需求&#xff0c;了解安全领域知识图谱的建设方法以及典型应用场景&#x…

网站开发 前端如何学习福州网站建设兼职

我想稍微远离PHP&#xff0c;学习Python。为了使用Python进行Web开发&#xff0c;我需要一个框架来帮助模板和其他事情。我有一台非生产服务器&#xff0c;用于测试所有Web开发内容。这是一个运行MariaDB而不是常见的MySQL服务器软件包的Debian 7.1 LAMP堆栈。昨天我安装了Djan…

相城seo网站优化软件企业建立网站需要提供什么

最近做项目遇到了读取Excel数据到数据库做数据的初始化。于是找一个。发现(poi-3.13)可以解决问题。可以解析两种格式(xlsx和xls)以下是实现的步骤1.下载poi3.13包&#xff0c;地址(http://poi.apache.org/download.html#POI-3.13)2.学习APi。接下来是还是demo来说明问题吧&…

重庆有哪些做网站的公司wap浏览器模拟

PDF.js 的技术特性 功能强大&#xff0c;内置了很多实用的 api&#xff0c;几乎可以对 PDF 文件“为所欲为”&#xff1b;兼容性超好&#xff0c;不仅支持现代浏览器&#xff0c;对于旧版本的浏览器也有很好的支持易于上手&#xff0c;官方也提供了很多代码例子。 用 PDF.js 来…

张家界做网站找哪家好网站内部链接优化

视频制作已经成为表达情感、记录生活的重要方式。尤其在生日这样的特殊日子&#xff0c;一份个性化的视频祝福不仅能让人感到温馨&#xff0c;还能成为长久珍藏的回忆。那么&#xff0c;如何快速制作出精美的生日模版视频呢&#xff1f;下面就给大家介绍几种可以制作生日模版的…

品牌策划与推广方案百度优化

利用markdown在编写文档时插入图片是默认靠左&#xff0c;有些时候将图片设置为居中时可以更加的美观&#xff0c;这时就需要在图片的信息前边添加如下程序 <div aligncenter>![这里写图片描述](http:...如果想将图片位于右侧&#xff0c;只需要将center改为right<di…

网站建设的重要性与价值小手工制作简单又漂亮

NFS&#xff0c;Network File Syttem&#xff0c;网络文件系统。它允许网络上运行不同操作系统的主机通过网络连接到运行NFS服务的主机上&#xff0c;以实现数据共享。NFS的配置非常简单&#xff0c;经过简单的设置既能快速使用NFS。 使用NFS&#xff0c;首先在服务端运行NFS服…

网站开发公司的生产深圳建伟业公司商城

10月25日&#xff0c;2018中国计算机大会上举办了主题是智慧城市下个十年&#xff1a;智在“数”还是“术”的技术论坛。目前&#xff0c;城市已经具备了丰富多样的大数据积累&#xff0c;成体系的数据管理标准&#xff0c;开放自由的数据流动环境等重要基础&#xff0c;但对于…

太原建设厅官方网站郑州seo实战培训

一.CSS简介 1.1 CSS简介 ① CSS指的是层叠样式表&#xff0c;用来控制网页外观的一门技术 ② CSS发展至今&#xff0c;经历过CSS1.0 CSS2.0 CSS2.1 CSS3.0这几个版本&#xff0c;CSS3.0是CSS最新版本 1.2 CSS引入方式 ① 在一个页面引入CSS&#xff0c;共有三种方式 外部…

网站建设大概需要多少费用网站建设域名是什么

文章目录 连续子数组的最大和题目思路代码实现 连续子数组的最大和(二)题目思路代码实现 连续子数组的最大和 题目 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组…

企业网站建设培训应用最广网站建设技术

css animation 动画如何保留动画结束后的状态 animation-fill-mode: forwards 一、问题描述 在做一个弹窗动画提示的时候遇到了一个问题&#xff1a; 在动画结束的时候&#xff0c;移除元素时会有闪一下的问题&#xff0c;像这样&#xff1a; 我的动画结尾是这样的&#xff…

网站建设先进js网站大全

刚开始接触这种数据持久化框架时&#xff0c;使用的是Maybatis&#xff0c;相较于最原始的JDBCSQL模式&#xff0c;Maybatis简直就是神器&#xff0c;特别是在用过Maybatis动态SQL后&#xff0c;简直就开始对Maybatis爱不释手。后来工作要求&#xff0c;又接触到了Hibernate&am…

一家电子商务网站建设心得校园网站建设项目总结报告

目录 一、grid布局是什么二、grid布局的属性三、容器属性1、display①、语句②、属性值 2、grid-template-columns属性、grid-template-rows属性①、定义②、属性值1&#xff09;、固定的列宽和行高2&#xff09;、repeat()函数3&#xff09;、auto-fill关键字4&#xff09;、f…

微信网站开发服务软件开发公司app

来源 | 码海封图 | CSDN 付费下载于视觉中国前言我们每天都在用 Google, 百度这些搜索引擎&#xff0c;那大家有没想过搜索引擎是如何实现的呢&#xff0c;看似简单的搜索其实技术细节非常复杂&#xff0c;说搜索引擎是 IT 皇冠上的明珠也不为过&#xff0c;今天我们来就来简单…

个人简介网站源码广告版面设计图片

转发 HttpServletRequest 用法 req.getRequestDispatcher("studentServlet").forward(req, resp);重定向 HttpServletResponse 用法 resp.sendRedirect("studentServlet");区别 转发的主导权在服务器,重定向的主导权在客户端 转发可以用request传递数据…

网站搭建环境营销型网站典型

二分算法简介&#xff1a; 二分查找算法只适用于数组有序的情况&#xff1f;&#xff08;只要数组中存在某种规律就可以用&#xff09;模版&#xff1a; 朴素的二分模版查找左边界的二分模版查找右边界的二分模版 朴素二分模版 while(left < right){int mid left (right-l…

调用别人网站注册表单php网站开发职责

前言 1、DWD 层开发 DWD层设计要点&#xff1a; &#xff08;1&#xff09;DWD层的设计依据是维度建模理论&#xff08;主体是事务型事实表&#xff08;选择业务过程 -> 声明粒度 -> 确定维度 -> 确定事实&#xff09;&#xff0c;另外两种周期型快照事实表和累积型…