[C语言]结构体

news2024/11/24 14:00:46

1.什么是结构体

结构是多种类型的数据的集合。。且每个结构成员都有名字,因此当使用特定的成员时需要指明结构体成员的名字。

2.结构体的声明

以学生的数据为例:

	struct student      //student结构名
	{
		char name;      //name结构体成员名
		int height;     //height结构体成员名
		float weight;   //weight结构体成员名
		char id[20]	    //id结构体成员名
	}part1,part2;       //part1,part2结构体变量名

student是结构体的名字称为结构名。

name,height,weight,id都是结构体成员它们可以是不同类型也可以是相同类型。

part1,part2都是定义的结构体变量名,它的类型为,''struct student'.

可以在结构体声明时定义结构体变量名,也可以像下方一样单独定义。

 struct student part3;

3.结构体成员的访问

 1.结构体成员和”.“运算符

#include <stdio.h>
struct student
{
	char name[30];
	int height;
	float weight;
	char id[20];
};
int main()
{
	struct student part1 = { "王二",180,75.5,"20241011123456" };
	printf("%s\n", part1.name);
	printf("%d\n", part1.height);
	printf("%f\n", part1.weight);
	printf("%s\n", part1.id);
	return 0;
}

运行结果 :

可以看到通过”part1.name“这样的方式就能访问到结构体中的name成员 。

2.结构体成员和”->“运算符

struct student
{
	char name[30];
	int height;
	float weight;
	char id[20];
};
void stu1(struct student* str)
{
	printf("%s\n", str->name);
	printf("%d\n", str->height);
	printf("%f\n", str->weight);
	printf("%s\n", str->id);
}
int main()
{
	struct student part1 = { "王二",180,75.5,"20241011123456" };
	stu1(&part1);
	return 0;
}

运行结果:

 

可以看到用结构体指针通过”->“运算符也能访问到结构体成员。

 4.具有结构体成员的结构体

1.结构体自己调用自己

struct Node
{
	int data;
	struct Node* next;
};

可以看到结构体中的一个成员为指向它自身的指针,类型为struct Node*

2.结构体嵌套

struct stu1
{
	char name[20];
	int id;
};
struct stu2
{
	char name[20];
	int id;
	struct stu1 s1;
};

 可以看到结构体stu2中有一个成员的类型是struct stur1 它的变量名是s1.

 

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

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

相关文章

传知代码-自动车牌识别检测系统(论文复现)

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 YOLO V8实现多种车牌检测识别&#xff01; 一、概述 使用yolov8进行车牌检测&#xff08;训练测试演示部署&#xff09; 二、支持类型 我们的车牌识别检测系统支持多种类型的车牌 具体支持类型如下&#xff1a…

云渲染农场可以用哪些CG软件!

随着数字内容创作的需求日益增长&#xff0c;3D艺术家们不断寻求更高效、更强大的渲染解决方案。云渲染农场以其灵活性和可扩展性&#xff0c;成为了许多创作者的首选。这些平台支持多种流行的CG软件&#xff0c;如Maya、3ds Max、Cinema 4D、Blender等&#xff0c;以及各种插件…

go 语言学习路线图

1. Go语言简介 Go语言的历史背景和设计理念Go的优势&#xff1a;简洁、高效、并发支持强Go的应用场景&#xff1a;微服务、云计算、系统编程 2. 开发环境设置 安装Go语言开发环境 在Windows、macOS、Linux系统上的安装方法 配置环境变量&#xff1a;GOROOT 和 GOPATH验证安装…

认知战认知作战:作战机构深陷的两大战略误解阵营

认知战认知作战&#xff1a;作战机构深陷的两大战略误解阵营 认知战认知作战&#xff1a;作战机构深陷的两大战略误解阵营 关键词&#xff1a;认知战, 认知作战, 作战机构, 如临大敌派, 水到渠成派, 战略误解, 务实之道,认知作战,新质生产力,人类命运共同体,认知战,认知域,认…

ROS理论与实践学习笔记——5 ROS机器人系统仿真之URDF集成Rviz基本流程

实现流程&#xff1a; &#xff08;1&#xff09;创建功能包&#xff0c;导入依赖 创建一个新的功能包&#xff0c;名称自定义&#xff0c;导入依赖包&#xff1a;urdf与xacro。 在当前功能包下&#xff0c;再新建几个目录&#xff1a; urdf: 存储 urdf 文件的目录 meshes:机…

如何使用ssm实现办公OA系统0

TOC 10907ssm办公OA系统10907ssm0 第一章 绪 论 1.1背景及意义 系统管理也都将通过计算机进行整体智能化操作&#xff0c;对于办公OA系统所牵扯的管理及数据保存都是非常多的&#xff0c;例如管理员&#xff1b;主页、个人中心、公司公告管理、设备分类管理、办公设备管理、…

入门C语言基础

文章目录 入门C语言基础1 基础语法1.1 整形1.2 浮点型1.3 常量1.4 运算符1.4.1 算数运算符1.4.2 关系运算1.4.3 逻辑运算1.4.4 赋值运算符1.4.5 其他 1.5 if判断1.6 循环1.7 函数1.8 字符串和字符串1.9 数组 2 指针2.1 定义指针类型变量和取变量地址2.2 指针类型变量解引用2.3 …

一文讲明白初学者怎么入门大语言模型(LLM)?

关于如何入门LLM&#xff0c;大多数回答都提到了调用API、训练微调和应用。但是大模型更新迭代太快&#xff0c;这个月发布的大模型打榜成功&#xff0c;仅仅过了一个月就被其他模型超越。训练微调也已经不是难事&#xff0c;有大量开源的微调框架&#xff08;llamafactory、fi…

工业物联网关-系统说明

系统介绍 如下图所示&#xff0c;网关采集终端数据&#xff0c;经解析&#xff0c;运算&#xff0c;组成网络报文后上送云端服务器。从下而上分别是设备数据采集层&#xff0c;数据缓存计算层&#xff0c;云端对接层。主要功能模块包括虚拟产品、设备管理&#xff0c;数据缓存…

2024大模型新书《大模型基础》教材发布,开源!

我已将这本大模型资料 免费分享 出来&#xff0c;需要的小伙伴可以扫取。 浙江大学DAILY实验室毛玉仁研究员、高云君教授领衔撰写的《大模型基础》教材第一版付梓。本教材为开源教材&#xff0c;旨在为对大语言模型感兴趣的读者系统地讲解相关基础知识、介绍前沿技术。作者团…

【LLM大模型】RAG早已经过时,RAG-Fusion正当时

人工智能和自然语言处理正在以惊人的速度发展&#xff0c;现在比以往任何时候都更需要更好、更可靠的信息获取途径和使用方式。正如我们现在所面对的&#xff0c;传统系统往往难以结合丰富的上下文以最相关的方式回答我们的提问。以谷歌为例&#xff0c;通常需要进行多次搜索才…

性价比之王!三角型(单体式)电动采光排烟天窗

三角型(单体式)电动采光排烟天窗是一种在厂房、仓库等大型建筑屋顶上常用的通风、采光和排烟设备。一、基本概念 三角型(单体式)电动采光排烟天窗是指其窗扇与安装面形成一定角度(通常为30)&#xff0c;整体呈“三角”形状&#xff0c;并通过电动装置实现开合的采光排烟天窗&am…

7. BBP 控制板首次运行步骤说明

7.1. 概述 BBP 控制板在硬件焊接安装完成之后, 就可以通过烧写器将控制程序烧写到控制板的 MCU 上, 此步骤与通常的stm32单片机程序烧写完全一致。 烧写完成在程序能够正常运行后, 还需要执行至少一次机载参数初始化工作. 在后续调试及开发过程中, 如果参数系统内容未发生改变…

让你一看就懂,Javascript的原型和原型链

自己的话&#xff1a; 你是否看过很多关于javascript的原型&#xff0c;和原型链的技术文章&#xff1f;但是看完后仍然是一头雾水&#xff1f; 没关系&#xff0c;希望我的这一篇文章&#xff0c;能让你一看就懂。 原型和原型链是JavaScript实现继承和共享属性的重要机制。…

零样本主题驱动图像生成新方法!EZIGen:在保持灵活性的同时保留主题身份!

今天给大家介绍一个零样本主题驱动图像生成方法EZIGen&#xff0c;它会从你提供的主体图像中提取出重要特征&#xff0c;就像是给图像做一个“身份识别”&#xff0c;确保生成的新图像能够保留主体的独特特征。接下来&#xff0c;EZIGen会根据你输入的文本提示&#xff0c;生成…

怎么高效恢复硬盘和u盘里的数据:全面指南

在数字时代&#xff0c;数据已成为我们生活与工作中不可或缺的一部分。无论是个人珍贵的照片、视频&#xff0c;还是企业至关重要的文档、项目资料&#xff0c;一旦硬盘或U盘中的数据丢失&#xff0c;都可能带来不可估量的损失。幸运的是&#xff0c;随着技术的发展&#xff0c…

.Net基础1

.NET框架 项目结构 Connected Services是第三方服务MVC框架appsettings.json配置文件Program.cs控制台应用程序Properties里的json文件是配置启动方式 1. 基本开发 出现这个bug是因为防火墙没有把浏览器加入白名单&#xff0c;可以暂时先用http启动代替 第一步创建控制器&am…

希亦超声波清洗机是智商税吗?百元级超声波清洗机旗舰机皇真相大揭秘!

在深入探讨这个问题之前&#xff0c;我们先来了解一下超声波清洗机的工作原理。超声波清洗机利用高频振动波&#xff0c;通过液体介质传递能量&#xff0c;产生无数微小的气泡。这些气泡在压力作用下迅速闭合&#xff0c;形成强大的冲击波&#xff0c;能够深入清洁物品表面难以…

苹果秋季盛典:iPhone 16系列引领未来科技潮流

9月10日&#xff0c;苹果公司在众人瞩目中举办了2024年的秋季特别活动&#xff0c;发布了备受期待的iPhone 16系列。 尽管网络发布会已经持续了一整年&#xff0c;但熬夜观看的果粉们仍然热情不减&#xff0c;因为每一次苹果的新品发布都代表着科技界的一次重大飞跃。 iPhone …

汽车销量预测系统

项目介绍 此项目服务于汽车经销商、汽车生产商&#xff0c;旨在成为用于使企业充分了解消费者诉求&#xff0c;预见市场未来的需求量和可能存在的销售变化趋势&#xff0c;合理规划产能&#xff0c;正确制定生产计划&#xff0c;实施以销定产的生产策略的交流平台&#xff0c;…