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

C语言 第六章 结构体(3)

目录

结构体数组

 结构体数组的声明

方式1:

方式2:

初始化数组元素

对应前面的声明方式1:

对应前面的声明方式2:

结构体数组元素的成员的调用

方式1:使用数组角标方式 

方式2:使用指向数组或数组元素的指针

举例1:


结构体数组


 结构体数组的声明

结构体数组:

   数组元素是结构体变量而构成的数组。

格式:

 先定义结构体类型,然后用结构体类型定义数组变量。

方式1:

先声明一个结构体类型,再用此类型定义结构体数组

结构体类型  数组名[数组长度];

举例:

typedef struct {int id;char* name;char gender;int age;
} Person;   // Person就是一个自定义类型Person pers[3]; // pers是结构体数组名

方式2:

定义结构体类型的同时,定义数组变量:

struct 结构体名 {
    成员列表;
} 数组名[数组长度];


举例:

struct Person {int id;char* name;char gender;int age;
} pers[3];

初始化数组元素


对应前面的声明方式1:

举例:

Person pers[3]={
{1001,"Tom",'M',14},
{1002,"Jerry",'M',13},
{1003,"Lily",'F',12}
};
数组元素成员id成员name成员gender成员age
stus[0]1001TomM14  
stus[1]1002Jerry13  
stus[2]1003Lily   12  

对应前面的声明方式2:

举例:


struct Person {int id;char* name;char gender;int age;
} pers[3] = {{1001, "Tom", 'M', 12},{1002, "Jerry", 'M', 11},{1003, "Lily", 'F', 10}
};

结构体数组元素的成员的调用


方式1:使用数组角标方式
 

格式:

  结构体数组名[下标].成员名


如:

stus[1].age = 23;

方式2:使用指向数组或数组元素的指针

格式:
指针->成员名
如:


p->age = 24; // p为指向某个数组元素的指针
举例1:

输入一个班级的学生信息(包含id、name、gender、score),并把学习成绩超过全班平均成绩的学生找出来,输出这部分学生的姓名和成绩。

struct Person pers[3] = {{1001, "Tom", 'M', 14},{1002, "Jerry", 'M', 13},{1003, "Lily", 'F', 12}
};for (int i = 0; i < 3; ++i) {printf("%s \t", pers[i].name);
}


 

http://www.xdnf.cn/news/5764.html

相关文章:

  • 0前言(文章体系)
  • 数字滤波器应用介绍
  • 流体力学绪论(期末复习)
  • 【android bluetooth 框架分析 02】【Module详解 13】【CounterMetrics 模块介绍】
  • 继承关系下创建对象的具体流程
  • 生活破破烂烂,AI 缝缝补补(附提示词)
  • 进程间的通信
  • python-75-Nacos技术之Python+Nacos实现微服务架构
  • 打破效率枷锁,数企云外呼一骑绝尘
  • beyond compare 免密钥进入使用(删除注册表)
  • MacOS 上构建 gem5
  • 排错-harbor-db容器异常重启
  • PCB抄板过程、抄板软件介绍
  • 基于Qt6 + MuPDF在 Arm IMX6ULL运行的PDF浏览器(项目推介)
  • 做为一个平台,给第三方提供接口的时候,除了要求让他们申请 appId 和 AppSecret 之外,还应当有哪些安全选项,要过等保3级
  • BUUCTF Pwn hitcontraining_uaf WP
  • 学习黑客5分钟深入浅出理解系列之Windows注册表
  • Odoo 18 安全组与访问权限管理指南
  • SQLite 数据库常见问题及解决方法
  • 一般纯软工程学习路径
  • 使用达梦数据库官方管理工具SQLark导入与导出数据库表
  • 解决IDEA无法运行git的问题
  • CVE-2020-1957 漏洞报告
  • 基于MCP的智能体架构设计:实现智能体与外部世界的无缝连接
  • 辣椒青椒幼苗和杂草检测数据集VOC+YOLO格式706张2类别
  • IP协议、以太网包头及UNIX域套接字
  • 在 Java 8 中 常用时间日期类
  • 【Linux系统】自动化构建-make/Makefile的使用
  • AI Agent开发第64课-DIFY和企业现有系统结合实现高可配置的智能零售AI Agent(上)
  • #S4U2SELF#S4U2Proxy#CVE-2021-42278/42287