学习C语言之 构造数据类型 专题一:结构体
构造数据类型基本数据类型short、int、long、char、float、double、void指针类型构造数据类型结构体、共用体、枚举1. 结构体1. 结构体的声明struct 名称{数据类型 成员1数据类型 成员2}声明“struct 名称”的结构体类型是一种数据类型例struct date{int year;int mon;int day;}struct time{int hour;int min;int sec;};注意声明结构体的时候结构体{}后面的“”不能省。结构体成员之间用“”隔开。struct后面的“ 名称”可以省略省略后就是一个匿名结构体2. 结构体变量定义int num;结构体类型 变量名struct date mydate;struct{int year;int mon;int day;}mydate声明结构体类型的同时定义了一个变量变量的变量名mydate3.结构体初始化1.全部初始化struct date mydate {2026 86};struct datetime{struct date mdate;struct time mtm;}struct datetime mydt {{2026,8,6}, {14,5,23}};2.部分初始化struct date mydate {.year 2024,.day 6,}4. 结构体数据成员的访问通过结构体变量访问结构体成员结构变量变量名.成员1结构变量变量名.成员2结构变量变量名.成员3结构变量变量名.成员1表达式的结果取决成员的数据类型。mydate.yearmydate.mon;mydate.day通过结构体指针访问结构体成员结构体指针-成员1结构体指针-成员2结构体指针-成员3结构变量变量名.成员1表达式的结果取决成员的数据类5. 结构体的存储方式结构体对齐原则1.结构体成员在内存中存储时成员必须存储在自己字节大小的整数倍位置2. 结构体整体占的内存大小是结构体中最大成员字节数的整数倍例struct s1{short a;int b;char c;};该结构体占了12个注意在不同位系统下相同结构体在内存中占的字节空间可能不一样原因64位系统long/指针类型占8字节32位系统long/指针类型占4字节。2.可以强制让结构体按指定字节数对齐#pragma pack(1) //强制结构体按1字节对齐struct s{int a; //4char b; //1int c; //4};#pragma pack() //取消强制结构体按1字节对齐6. 结构体做为函数参数传递如果要在被调函数中修改主调函数中的结构体变量则传递结构体变量的地址如果在被调函数中使用主调函数中定义的结构体变量可以值传递也可以传地址7. 结构体数组struct 名称 数组名[元素个数]struct 名称 数组名[元素个数] {{} {} {}}数组名[下标]; —》数据类型”struct 名称“ 类型

相关新闻

解密微信聊天记录:3步掌握本地数据访问的核心技术

解密微信聊天记录:3步掌握本地数据访问的核心技术

解密微信聊天记录:3步掌握本地数据访问的核心技术 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 你是否曾好奇微信聊天记录背后的加密机制?或者想安全地访问自己的聊天备份却无从…

2026/10/1 18:31:27 阅读更多 →
C++ Asio网络编程实战:SSL/TLS加密通信从原理到实现

C++ Asio网络编程实战:SSL/TLS加密通信从原理到实现

1. 项目概述:为什么Asio的安全通信值得你投入精力?如果你已经跟着这个系列从零开始摸到了Asio网络编程的门道,能写个简单的Echo服务器,或者搞定了异步读写,那你肯定已经感受到了网络编程的威力。但当你准备把写好的服务…

2026/10/4 18:57:50 阅读更多 →
C语言总结 --- 构造数据类型

C语言总结 --- 构造数据类型

C 语言数据类型分为四大类:基本数据类型(short、int、long 、char、float、double)、指针类型、构造数据类型(结构体、共用体、枚举 )、空类型 void(一)结构体1.声明结构体struct 名称 {数据类型…

2026/9/29 5:27:25 阅读更多 →

最新新闻

Python 模拟鼠标事件:用 TaoToken 统一 Key 打通自动化脚本的鉴权链路

Python 模拟鼠标事件:用 TaoToken 统一 Key 打通自动化脚本的鉴权链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 0:27:45 阅读更多 →
从零搭建AI日报整理机制:分类框架、信息源管理与撰写规范

从零搭建AI日报整理机制:分类框架、信息源管理与撰写规范

1. 一份“AI 日报”到底在记录什么每天早上打开电脑,我做的第一件事不是看邮件,而是花二十分钟把过去二十四小时里 AI 圈发生的事过一遍。这个习惯坚持了快三年,从最开始只是自己记备忘录,到后来整理成固定的格式发给团队&#xf…

2026/10/9 0:26:44 阅读更多 →
监控告警联动自动化测试:Prometheus+Alertmanager实战

监控告警联动自动化测试:Prometheus+Alertmanager实战

做监控的同学大多有这种经历:凌晨三点手机震醒,群里炸锅说线上挂了,你爬起来翻了半天日志,最后发现只是某个指标抖动了一下,触发了阈值,虚惊一场。真正出问题的时候,警报又可能被误报刷屏淹没了…

2026/10/9 0:26:44 阅读更多 →
三天上线AI旅游规划产品:MCP协议+Next.js+GPT-4o实战

三天上线AI旅游规划产品:MCP协议+Next.js+GPT-4o实战

1. 为什么我盯上了MCP这条技术路线先说清楚背景。我一个人,三天时间,从零开始做了一个AI旅游规划产品,并且把它推上线了。这不是标题党,产品现在能跑,用户输入目的地、天数、预算和偏好,它会自动生成一份带…

2026/10/9 0:25:44 阅读更多 →
智能体工程化落地:从ReAct架构到安全评测与业务接入

智能体工程化落地:从ReAct架构到安全评测与业务接入

这周的GitHub Trending中文周报翻下来,我的第一感受是:智能体这个领域正在换赛道。前几个月刷出来的还都是各种各样的聊天Demo、带WebUI的RAG玩具,这周开始明显不一样了——大量项目把目标写成了"稳定运行""可观测""…

2026/10/9 0:25:44 阅读更多 →
从Prompt到Context:AI Agent上下文工程实战指南

从Prompt到Context:AI Agent上下文工程实战指南

最开始做 AI Agent 的时候,我以为把 Prompt 写漂亮就完事了。结果第一个真实项目上线不到两天,就被打脸了:用户在对话里提到一个半小时前交代的关键信息,Agent 直接“失忆”,开始自己编造需求。我一开始怀疑是模型不行…

2026/10/9 0:25:44 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →