内容正文:
计算机网络基础
7.3 结构体变量的引用
第7章 结构体和共同体
高等教育出版社
教学目标
一
理解结构体变量的引用
1
2
掌握结构体变量的初始化
3
理解同类型结构体变量间的赋值
教学重难点
二
理解结构体变量的引用
1
2
掌握结构体变量的初始化
3
理解同类结构体变量间的赋值
导入新课
三
结构体有哪三种定义方法?
先定义结构体类型,再定义结构体变量
在定义结构体类型的同时定义结构体变量
直接定义结构体变量
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
新知讲授
四
引用结构体变量
定义并初始化结构体变量的目的是使用结构体变量中的成员。在C语言中,引用结构体变量中一个成员的方式如下所示:
结构体变量名.成员名;
引用结构体变量
7.3.1
例如,下列的语句用于引用结构体变量stu1中num成员:
为了帮助大家更好地掌握结构体变量的使用,接下来通过一个案例来输出结构体变量中所有成员的值,如例1所示。
stu1.num;
引用结构体变量
7.3.1
例1
1 #include <stdio.h>
2 #include <stdlib.h>
3 struct Student
4 {
5 char name[50];
6 int age;
7 };
8 void main()
9 {
10 struct Student s = {"Zhang San", 23};
11 printf("%s %d
", s.name, s.age);
12 }
引用结构体变量
7.3.1
运行结果如图一所示。
从图一中可以看出,结构体变量中成员name和age的值被输出了。
结构体变量的初始化
7.3.2
由于结构体变量中存储的是一组类型不同的数据,因此为结构体变量初始化的过程,其实就是为结构体中各个成员初始化的过程。根据结构体变量定义方式的不同,结构体变量初始化的方式可分为两种。
结构体变量的初始化
7.3.2
1、在定义结构体类型和结构体变量的同时,对结构体变量初始化,具体示例如下:
上述代码在定义结构体变量stu的同时,就对其中的成员进行了初始化。
struct Student
{
int num;
char name[10];
char sex;
} stu = {20140101, "Zhang San", 'M'};
结构体变量的初始化
7.3.2
2、定义好结构体类型后,对结构体变量初始化,具体示例如下:
在上述代码中,首先定义了一个结构体类型Student,然后在定义结构体变量时,为其中的成员进行初始化。
struct Student
{
int num;
char name[10];
char sex;
};
struct Student stu = {20140101, "Zhang San", 'M'};
同类型结构体变量间的赋值
7.3.3
同类型结构体变量间赋值的格式是:
结构体变量1=结构体变量2;
例如定义两个同属于类型 struet date 的变量d1和d2,先对变量d1赋值,再将d1赋给变量d2
同类型结构体变量间的赋值
7.3.3
#incelude <stdio.h>
#include <conio.h>
typedef struct date
{ int mm,dd,yy;} Date; //定义日期类型Date
main()
{ Date d1,d2;
d1.mm= 10;
d1.dd=1;
d1.yy= 2019;
d2 =d1;
print(" %d - %d - %d
", d2 mm, d2.dd, d2.yy);
getch();
}
同类型结构体变量间的赋值
7.3.3
运行结果如图所示。
同类型结构体变量间的赋值
7.3.3
说明:d1、d2 两个变量都属于struet date 类型,它们之间可以进行相互赋值。语句“d2=d1;"等价于下列3条语句:
d2.mm = d1.mm;
d2.dd = d1.dd;
d2.yy=d1.yy;
布置作业
七
1.完成同步练习题。
2.预习7.4
感谢观看
$