学校网站建设需求分析调研表网站建设分解结构

张小明 2026/1/11 4:14:23
学校网站建设需求分析调研表,网站建设分解结构,电商网站开发费用,wordpress 萌化目录 一 结构体类型的声明 1.结构体回顾 (1)结构的声明 (2)结构体变量的创建和初始化 2.结构的特殊声明 3.结构的⾃引⽤ 4. 结构体内存对⻬ (1)对⻬规则 5. 结构体传参 一 结构体类型的声明 1.结构体回顾 结构是⼀些值的集合#xff0c;这些值称为成员变量。结构的每…目录一 结构体类型的声明1.结构体回顾(1)结构的声明(2)结构体变量的创建和初始化2.结构的特殊声明3.结构的⾃引⽤4. 结构体内存对⻬(1)对⻬规则5. 结构体传参一 结构体类型的声明1.结构体回顾结构是⼀些值的集合这些值称为成员变量。结构的每个成员可以是不同类型的变量。(1)结构的声明例如描述⼀个学⽣#define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h int main() { struct Student { char name[20];//姓名 int age;//年龄 char sex[10];//性别 }; return 0; }(2)结构体变量的创建和初始化#define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h int main() { struct Student { char name[20];//姓名 int age;//年龄 char sex[10];//性别 }; struct Student a { 张三,18,男 }; printf(%s\n, a.name); printf(%d\n, a.age); printf(%s\n, a.sex); return 0; }这是按照我们创建的结构体的顺序进行初始化的,下面我再来介绍另一种的初始化的方式;#define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h int main() { struct Student { char name[20];//姓名 int age;//年龄 char sex[10];//性别 }; struct Student a { .age 18,.name 张三,.sex 男 }; printf(%s\n, a.name); printf(%d\n, a.age); printf(%s\n, a.sex); return 0; }2.结构的特殊声明在声明结构的时候可以不完全的声明。例如:#define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h int main() { struct { char name[20];//姓名 int age;//年龄 char sex[10];//性别 }a; a.age 18; /*printf(%s\n, a.name);*/ printf(%d\n, a.age); /*printf(%s\n, a.sex);*/ return 0; }上⾯的结构在声明的时候省略掉了结构体标签tag。匿名的结构体类型如果没有对结构体类型重命名的话基本上只能使⽤⼀次。3.结构的⾃引⽤在结构中包含⼀个类型为该结构本⾝的成员是否可以呢⽐如定义⼀个链表的节点struct NODE { int x; struct NODE next; };这样的代码行得通吗?如果正确那 sizeof(struct Node) 是多少仔细分析其实是不⾏的因为⼀个结构体中再包含⼀个同类型的结构体变量这样结构体变量的⼤ ⼩就会⽆穷的⼤是不合理的。正确的方式:struct NODE { int x; struct NODE* next; };在结构体⾃引⽤使⽤的过程中夹杂了 typedef 对匿名结构体类型重命名也容易引⼊问题看看 下⾯的代码可⾏吗typedef struct NODE { int x; NODE* next; }NODE;我们可以看到这里的报错说明这样的写法是错误的,因为NODE是对前⾯的匿名结构体类型的重命名产⽣的但是在匿名结构体内部提前使 ⽤NODE类型来创建成员变量这是不⾏的。4.结构体内存对⻬我们已经掌握了结构体的基本使⽤了。现在我们深⼊讨论⼀个问题计算结构体的⼤⼩。这也是⼀个特别热⻔的考点结构体内存对⻬(1)对⻬规则⾸先得掌握结构体的对⻬规则1.结构体的第⼀个成员对⻬到和结构体变量起始位置偏移量为0的地址处2.其他成员变量要对⻬到某个数字对⻬数的整数倍的地址处。对⻬数编译器默认的⼀个对⻬数与该成员变量⼤⼩的较⼩值。-VS 中默认的值为 8-Linux中gcc没有默认对⻬数对⻬数就是成员⾃⾝的⼤⼩;3.结构体总⼤⼩为最⼤对⻬数结构体中每个成员变量都有⼀个对⻬数所有对⻬数中最⼤的的 整数倍。4.如果嵌套了结构体的情况嵌套的结构体成员对⻬到⾃⼰的成员中最⼤对⻬数的整数倍处结构 体的整体⼤⼩就是所有最⼤对⻬数含嵌套结构体中成员的对⻬数的整数倍。这样听起来很难理解.下面列举个例子:#define _CRT_SECURE_NO_WARNINGS 1 #includestdio.h int main() { struct S1 { char c1; int i; char c2; }; printf(%d\n, sizeof(struct S1)); struct S2 { char c1; char c2; int i; }; printf(%d\n, sizeof(struct S2)); return 0; }我们定义的两个结构体内部的数据的类型相同,只不过顺序不同,那么他们的大小也应该相同.但是事实真是这样吗?运行结果如图所示:为什么是这样的结果?我们来按照对齐规则来逐步解释下面我们取出较小值:所以第一个结构体的大小是12.5. 结构体传参struct S { int data[1000]; int num; }; struct S s {{1,2,3,4}, 1000}; //结构体传参 void print1(struct S s) { printf(%d\n, s.num); } //结构体地址传参 void print2(struct S* ps) { printf(%d\n, ps-num); } int main() { print1(s); //传结构体 print2(s); //传地址 return 0; }上⾯的 print1 和 print2 函数哪个好些答案是⾸选print2函数。原因 函数传参的时候参数是需要压栈会有时间和空间上的系统开销。如果传递⼀个结构体对象的时候结构体过⼤参数压栈的的系统开销⽐较⼤所以会导致性能的下 降。结论 结构体传参的时候要传结构体的地址。结构体的内容就结束了.谢谢大家的观看.之后我会讲解联合体和枚举的相关语法知识.
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

辽宁城乡住房建设厅网站综合网站有哪些

Problem: 743. Network Delay Time 网络延迟时间 解题过程 堆优化迪杰特斯拉版本,Dijkstra方案,找到k到其他每个node的最短时间,然后求出所有node的最大时间,最大值(每个node的最小时间) 深度优先或者广度优先都可以做&#xff0c…

张小明 2026/1/10 17:05:43 网站建设

万江做网站的公司北京爱空间装修公司

Windows 8 使用与桌面个性化设置全攻略 在使用 Windows 8 系统的过程中,我们常常需要对系统进行各种设置以满足不同的使用场景和个人喜好。下面将为大家详细介绍 Windows 8 在电源管理、演示设置以及桌面个性化等方面的实用技巧。 1. 电源管理设置 Windows 8 提供了丰富的电…

张小明 2026/1/10 17:05:42 网站建设

响应式全屏网站物流公司

从零构建下载管理插件:让文件自动"活"起来 【免费下载链接】ab-download-manager A Download Manager that speeds up your downloads 项目地址: https://gitcode.com/GitHub_Trending/ab/ab-download-manager 想象一下这样的场景:你刚…

张小明 2026/1/9 21:42:04 网站建设

wordpress 自动汉化无锡做网站优化

音乐格式转换完整指南:轻松解锁加密音频文件 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://gitcod…

张小明 2026/1/10 17:05:46 网站建设

网站的盈利点泉州自助建站系统

SSH连接Miniconda-Python3.9镜像实例,远程开发PyTorch项目更高效 在深度学习项目日益复杂、模型规模不断膨胀的今天,很多开发者都经历过这样的场景:本地笔记本跑不动大模型,训练一次要十几个小时;换台机器重装环境&…

张小明 2026/1/10 17:05:46 网站建设

网站开发需要什么基础知识h5游戏平台搭建

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个密码破解模拟器,能够通过排列组合尝试破解3-4位的数字密码。程序应支持用户设置密码长度和字符集(如数字0-9),然后使用暴力破…

张小明 2026/1/10 17:05:51 网站建设