【C语言从不挂科到高绩点】18-结构体【重点知识】

Hello!彦祖们,俺又回来了!!!,继续给大家分享 《C语言从不挂科到高绩点》课程!! 本节将为大家讲解C语言中非常重要的知识点-结构体

本套课程将会从0基础讲解C语言核心技术,适合人群:

  1. 大学中开设了C语言课程的同学
  2. 想要专升本或者考研的同学
  3. 想要考计算机等级证书的同学
  4. 想要从事C/C++/嵌入式开发的同学

================点个关注吧================

=========================================

九、C语言中的结构体

C语言中的结构体(struct)从本质上讲,是一种自定义的数据类型。只不过这种数据类型比较复杂,是由:int、double、char 等这些基本数据类型组合而成的聚合类型。

在实际开发过程中,我们可以将一组类型不同的,但是用来描述同一事物的变量放到结构体中,比如:对于学生一项数据:名字、年龄、身高、成绩等等都是用来描述这个学生的,那么此时,我们就可以定义一个学生结构体,将这些内容定义成变量放到结构体中。

9.1 结构体概述

数组用来存储一组具有相同类型的数据的集合。如果要存储一组不同类型的数据,那么数组就不能满足要求了,这个时候需要用到结构体。

C 语言中结构体的定义方式:

strcut 结构体名{
    结构体成员变量
}

结构体是一种集合,里面定义了多个变量或者数组,他们类型可以相同,也可以不同。每一个这样的变量或者数组,都成为结构体的成员(Member)。


#include <stdio.h>

// 定义了一个名字为Student的结构体
// 定义完毕之后,struct Student 就称为了一个自定义的数据类型,可以用它来创建变量
struct Student{

	// 在结构体中定义的变量,我们称为这个结构体的成员(属性)
	// 通常会将这个类型的特点定义成成员(属性)

	char name[20];// 学生的姓名
	int num;// 学生的学号
	int age;// 学生的年龄
	char group;// 所在的小组
	float score;// 分数
};  // 注意此处要加分号

int main(){

	return 0;
}

现在 struct Student 就是一种数据类型了,可以用它来定义变量。Student 是这个结构体类型的名字。结构体中包含了 5 个成员属性,分别是:name,num,age,group,score。结构体成员的定义方式和变量的定义方式区别在于:结构体里面的成员属性不能做初始化

注意的问题:在定义结构体成员变量时,不要赋初始值

9.2 结构体变量

9.3.1 先定义结构体再定义变量

既然结构体是一种数据类型,那么就可以用来定义变量

struct 结构体名 变量名;

比如:

struct Student stu1 ,stu2;

表示:使用 struct Student 结构体类型,创建了两个变量 stu1 ,stu2

注意:定义结构体变量时,struct 关键字不能少。

可以将结构体 Student 看做是一个模板(模具)。定义出来的变量都具有相同的性质,比如:struct Student 定义出来的变量,都会有 name,num,age,group,score 这些成员属性。

9.3.2 定义结构体同时定义变量

也可以在定义结构体的同时,直接定义结构体变量,只需要将变量名写在结构体定义的后面即可:

struct Hero{
    char name[20];// 英雄名称
    char job[20];// 英雄的职业
    int level; // 英雄等级
}hero1,hero2;

表示:在定义结构体 struct Hero 结构体的同时,定义了两个变量:hero1 和 hero2;

9.3.3 匿名结构体定义变量

也可以在定义结构体的时候,不给结构体的名字,这种没有结构体名字的结构体,称为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听潮阁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>