首页 > 其他分享 >结构体相关案例

结构体相关案例

时间:2024-07-25 11:27:46浏览次数:15  
标签:name stu int age struct 案例 Student 相关 结构

格式: struct 结构体名字 {

          成员;

          成员;

          成员;

          ……;

   }

起别名:

格式: typedef  struct 结构体名字 {

          成员;

          成员;

          成员;

          ……;

   }别名             

注意:此时的结构体的名字可有可无,

      后面如果要使用该结构体直接使用别名即可

案例1:

定义一个结构体表示学生
学生的属性有:姓名、年龄
要求把这三个学生信息放入到数组当中,并遍历数组

#include<stdio.h>
#include<string.h>

struct Student
{  
	char name[100];
	int age;
};   //先定义一个结构体来存放学生的属性
//01
int main() {
	struct Student stu1 = { "张三",18 };    //定义变量并给其赋值
	struct Student stu2 = { "张四",19 };
	struct Student stu3 = { "张五",20 };
	struct Student arr[3] = { stu1,stu2,stu3 };

	for (int i = 0; i < 3; i++) {
		struct Student x = arr[i];      //创建一个struct Student 类型的变量
                                        //承接数组中的元素
		printf("第%d个学生的姓名是%s 年龄是%d\n", i+1, x.name, x.age);
	}
}

 

第二种方法:

#include<stdio.h>
#include<string.h>

struct Student
{  
	char name[100];
	int age;
};   //先定义一个结构体来存放学生的属性


int main() {
	struct Student stu1 ;
	strcpy(stu1.name, "张三");
	stu1.age = 18;

	struct Student stu2;
	strcpy(stu2.name, "张四");
	stu2.age = 19;

	struct Student stu3;
	strcpy(stu3.name, "张五");
	stu3.age = 20;
	struct Student arr[3] = { stu1,stu2,stu3 };

	for (int i = 0; i < 3; i++) {
		struct Student x = arr[i];
		printf("第%d个学生的姓名是%s 年龄是%d\n", i + 1, x.name, x.age);
	}
}

 

案例2:

定义一个结构体表示学生
学生的属性:姓名,年龄
定义一个函数修改学生的中的数据

#include<stdio.h>
#include<string.h>

 typedef struct Student
{ 
	char name[100];
	int  age;
}s;  //取别名代替struct Student

 //定义一个函数修改学生的中的数据

 void fun(s* p) {
	 s x = *p;
	 strcpy(x.name, "李四");
	 x.age = 20;
	 printf("修改后的学生消息为:%s %d", x.name, x.age);

 }
int main() {

	s sutdent1 = { "张三",10 };
	s y = sutdent1;
	printf("修改前的学生消息为:%s %d\n", y.name, y.age);
	printf("---------------------------------\n");
	fun(&y);
}

 

案例3:

结构体的嵌套
定义一个结构体表示学生
里面的成员如下:姓名,年龄,联系方式
其中联系方式也是一个结构体里面包含手机号,电子邮箱
 

#include<stdio.h>
#include<string.h>


//定义联系方式结构体

  struct  contact
{
	char eamil[100];
	int tell[100];
};


typedef struct {
	char name[100];
	int  age;
	struct  contact  c;    //调用联系方式结构体并声明一个变量
}s;


 int main() {
	 s stu ;
	 strcpy(stu.name, "小明");
	 stu.age = 20;
	 strcpy(stu.c.eamil, "[email protected]");
	 strcpy(stu.c.tell, "12345678910");

	 printf("姓名:%s\n", stu.name);
	 printf("年龄:%d\n", stu.age);
	 printf("电子邮箱:%s\n", stu.c.eamil);
	 printf("手机号码:%s", stu.c.tell);
}

标签:name,stu,int,age,struct,案例,Student,相关,结构
From: https://blog.csdn.net/2401_83720143/article/details/140684210

相关文章

  • 字符串的相关案例和string库函数的使用
    字符串的存储特性:在存储过程中字符串都会在末尾自动添加一个结尾标志符\0                 来表示字符串结束字符串的定义方式有两种:方式一:利用字符数组+双引号的方式定义字符串例如:charstr[4]=“abc”;注意:这里的数组长度要么......
  • 数据结构与算法从淬体到元婴day05之栈
    栈数据结构栈(Stack)是一种遵循后进先出(LIFO,LastInFirstOut)原则的有序集合。栈只能在一端(称为栈顶,Top)进行插入(push)和删除(pop)操作,另一端(称为栈底,Bottom)是固定的。这种特性使得栈在解决具有后进先出特性的问题时非常有用,比如函数调用、括号匹配、撤销操作等。栈的基本操作p......
  • 使用mybatis-plus拦截器MybatisPlusInterceptor进行分页查询案例
    在MyBatis-Plus中,分页功能通常是通过配置MybatisPlusInterceptor(或其前身PaginationInterceptor)来实现的,这是一个全局的拦截器,用于拦截MyBatis的SQL执行,并在其中添加分页逻辑。以下是一个使用MybatisPlusInterceptor进行分页查询的案例:添加依赖<dependencies><de......
  • 图像生成中图像质量评估指标—SSIM(结构相似性指数)介绍
    文章目录1.背景介绍2.实际应用3.总结和讨论1.背景介绍结构相似性指数(StructuralSimilarityIndex,简称SSIM)是一种用于评估两幅图像视觉相似度的指标。它不仅考虑了图像的亮度和对比度,还考虑了图像的结构信息。SSIM是图像质量评价中的一个重要指标,尤其在需要模拟......
  • 胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
    智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐Agent是以大模型为核心的智能体,通过与用户对话的形式,来完成各种任务,它很像一个“人”。如果和人做类比,它应该具备以下能力:Agent的各个要素各个子模块:1.对话式Agent1.1月之暗面(MoonshotAI)-Kimi官方......
  • 智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
    智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐Agent是以大模型为核心的智能体,通过与用户对话的形式,来完成各种任务,它很像一个“人”。如果和人做类比,它应该具备以下能力:Agent的各个要素各个子模块:1.对话式Agent1.1月之暗面(MoonshotAI)-Kim......
  • springboot农村综合风貌展示平台92098(案例分析)+V可免费领取源代码
    目  录摘要1绪论1.1研究背景1.2 研究意义1.3系统开发目标2.农村综合风貌展示平台系统分析2.2系统功能分析2.3 系统用例分析2.4 业务流程分析2.5本章小结3农村综合风貌展示平台总体设计3.1系统架构设计3.2 系统模块设计3.3数据库......
  • 数据结构(3)(顺序栈)
     栈:      栈是限定仅在栈顶进行插入和删除操作的线性表,在操作的时候,只允许栈顶改变不允许栈底改变,具有后进先出的特征。顺序栈:      顺序栈是一种使用数组实现的栈,也称为数组栈。其基本思路是通过数组来存储栈中的元素,并通过栈顶指针指示栈顶元素在数组中的位......
  • PDF相关软件优缺点对比
    PDF相关软件优缺点对比AdobeAcrobatProDC优点:功能全面:提供创建、编辑、转换、注释、签名、加密等几乎所有PDF相关功能。用户界面友好:UI设计直观,易于使用。云服务集成:与AdobeDocumentCloud无缝集成,方便在多个设备上访问和管理文档。OCR技术:强大的OCR功能,将......
  • 基于CDH 6.3.0 搭建 Hive on Spark 及相关配置和调优
    基于CDH6.3.0搭建HiveonSpark及相关配置和调优Hive默认使用的计算框架是MapReduce,在我们使用Hive的时候通过写SQL语句,Hive会自动将SQL语句转化成MapReduce作业去执行,但是MapReduce的执行速度远差于Spark。通过搭建一个HiveOnSpark可以修改Hive底层的计算引擎,将Map......