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

C 语言 - struct 关键字解析

struct 是什么

  • struct 就是一种“自定义数据类型”,可以把多个不同类型的变量打包在一起,组成一个整体

举个通俗例子

  • 假设保存一个“学生”的信息,有三个内容:

    • 姓名(字符串)
    • 年龄(整数)
    • 成绩(浮点数)
  • 如果不用 struct,你得写三个独立变量:

    char name[20];
    int age;
    float score;
    
  • 如果有 100 个学生就要 300 个变量,既不方便传递,也不方便管理。这时候就可以使用 struct 打包成一个“学生类型”

    struct Student { //定义了一个结构体类型,叫 struct Student//里面包含 3 个“成员变量”char name[20];int age;float score;
    };//使用方式
    struct Student s1 = {"Alice", 18, 95.5};
    //现在 s1 就是一个“学生对象”,里面同时有名字、年龄、成绩三样东西。//访问方式
    printf("%s 的年龄是 %d,成绩是 %.1f\n", s1.name, s1.age, s1.score);
    
  • 在内存中表示为:

    偏移地址 内容 类型 大小
    +0 name[20] char[20] 20字节
    +20 age int 4字节
    +24 score float 4字节
    总计 28字节(单个字节最大为4,对齐后可能是28+4=32字节)
    • 也就是说,一个结构体是一块连续的内存区域,里面按顺序放着它的每个成员。

总结

用途 说明
打包数据 把多个不同类型的变量组合成一个整体
自定义类型 可创建新的“复合类型”供多处复用
便于传参与管理 可以整体传给函数或数组中存储
  • structC 语言中用来创建“自定义复合类型”的修饰符,能把多种不同类型的变量打包成一个整体,让代码更清晰可扩展
http://www.gsyq.cn/news/21424.html

相关文章:

  • 从0到1 精通 5大 GC日志:5万字 GC日志圣经,大厂看GC日志的10字口诀,再不用看不懂GC日志了
  • 深入解析:技术演进中的开发沉思-118Linux命令篇:系统管理命令(下)
  • 京东面试:什么是 JIT,JIT什么优势?什么是 类的生命周期七个阶段 ?什么是 字节码增强?
  • 10亿用户微博Feed流,如何 抵抗 100WQPS 热点 ?如何 抵抗雪崩 ?
  • AI大模型学习路线:(非常详细)AI大模型学习路线,收藏这一篇就够了!
  • 定时任务清除Windows服务器30天以上java系统日志
  • 中国研发效能工具市场迎来爆发期:头部厂商如何赋能企业数字化转型?
  • 一键生成毛茸萌宠形象,基于函数计算极速部署ComfyUI生图系统
  • 2025-10-15 2个元素a和b,a的层级(z-index)比b的高,a为固定定位(fixed),b为粘性定位(sticky),当二者有部分重叠时,b会遮挡a的原因以及解决方法
  • 分享个经常装机需要的软件,驱动总裁网卡绿色2.19.0.0
  • 【Claude Code入门教程】CLAUDE.md完整解析与实战示例_Claude Code安装配置全流程与API代理使用指南
  • 2025 年最新游乐设备厂家权威推荐榜单:涵盖儿童 / 户外 / 室内 / 水上乐园等多场景设备,为采购与合作提供精准参考
  • 2025 办公家具厂家最新推荐榜:实木 / 现代 / 环保 / 智能 / 定制全品类精选,产品力服务力双优企业盘点
  • F1005D. 「阶段测试5」合影
  • 原创2020年纽约市交通事故数据集深度解析:基于74,881条记录的智能交通管理与自动驾驶算法训练实战指南,覆盖超速、分心驾驶、天气因素等多维度事故原因分析,助力城市安全治理从被动应对转向主动预防
  • 原创1747张YOLO标注奶牛水牛识别数据集:精准标注跨场景动物检测模型训练专用计算机视觉数据集,助力智慧农业与畜牧业AI算法研发
  • 原创1
  • 2025 最新开锁公司口碑排行榜权威甄选:智能锁 / 汽车锁 / 保险柜开锁服务最新推荐,安全高效品牌指南
  • 2025 年摇臂钻床厂商最新推荐排行榜:含 3050/3080/3040/3063/50 型号厂家产能与供应优势详解
  • 20232402 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 2025 年最新推荐排水沟厂家排行榜:聚焦树脂 / 线性 / 树脂混凝土 / 成品 /u 型排水沟优质厂家推荐
  • AC6966B SD配置F组可以吗?ok
  • 内网穿透的原理和安装
  • Morlet小波分析详解
  • Gitee vs. GitHub 2025:中国开发者为何更青睐本土代码托管平台?
  • 主线程阻塞型帧堆积(Frame Backlog)
  • ROS 传感器模块的通用架构设计与跨中间件扩展实践
  • 替代传统FTP的系统:企业数字化转型新选择
  • 需求分析论
  • 别再空谈数据价值!制造业如何用主数据管理 “抠” 出千万级成本?