文档详情

第10章自定义数据类型.pptx

发布:2025-03-05约1.42万字共116页下载文档
文本预览下载声明

第10章;第10章自定义数据类型;10.1自定义数据类型引入;10.1.1问题与引例;问题分析:

本例建立的学生登记表是一个经常使用的二维表,这个表格由若干行若干列构成,每一行是由不同数据类型的数据组成,显然每一行的数据不能用数组进行存储和处理,因此,需要用户定义一种新的数据类型来进行处理。;10.1.2结构体的概念;10.2结构体类型;10.2.1结构体类型及其变量的引用;注意:

花括号后面的分号是不可少的。

结构体定义之后,即可进行变量定义,凡说明为结构体student的变量都由上述4个成员组成。

结构体是一种复杂的数据类型,是数目固定、类型不同的若干个有序变量或数组的集合。;2.结构体类型变量的定义

定义结构体变量有以下三种方法:

(1)先定义结构体类型,再声明该类型变量;2.结构体类型变量的定义

定义结构体变量有以下三种方法:

(1)先定义结构体类型,再声明该类型变量;2.结构体类型变量的定义

定义结构体变量有以下三种方法:

(2)在定义结构体类型的同时声明结构体变量;2.结构体类型变量的定义

定义结构体变量有以下三种方法:

(3)直接定义结构体变量;说明:

(1)结构体类型并非只有一种,而是可以设计出许多种结构体类型,例如

structTeacher

structWorker

structDate等结构体类型

各自包含不同的成员;说明:

(2)结构体成员也可以属于另一个结构体类型

structDate

{intmonth;intday;intyear;};

structStu

{intnum;charname[20];

charsex;intage;

structDatebirthday;

charaddr[30];

};

;3.结构体类型变量的引用

在ANSIC中除了允许具有相同类型的结构变量相互赋值以外,一般对结构体变量的使用,包括赋值、输入、输出、运算等都是通过结构体变量的成员来实现的。

结构体变量成员引用的一般形式:

结构体变量名.成员名

;3.结构体类型变量的引用

例如:boy1.num//第一个学生的学号

boy2.sex//第二个学生的性别

如果结构体变量成员本身又是一个结构体,则必须逐级找到最低级的成员才能使用。

例如:

boy1.birthday.month

;4.结构体类型变量的赋值---按成员逐个赋值

结构体变量的赋值就是给各个成员赋值,可用输入语句或赋值语句来完成。

//结构体成员赋值

boy1.num=10001;

boy1.name=ZhangXin;;例如:把一个学生的信息(包括学号、姓名、性别、地址)放在一个结构体变量中,然后输出这个学生的信息。

解题思路:

自己建立一个结构体类型,包括有关学生信息的各成员

用它定义结构体变量,同时赋以初值

输出该结构体变量的各成员;#includestdio.h

voidmain()

{structStudent

{longintnum;charname[20];

charsex;charaddr[20];

}a={10101,LiLin,’M’,123BeijingRoad};

printf(NO.:%ld\nname:%s\n

sex:%c\naddress:%s\n,

a.num,a.name,a.sex,a.addr);

}

;#includestdio.h

voidmain()

{structStudent

{longintnum;charname[20];

charsex;charaddr[20];

}a={10101,LiLin,’M’,123BeijingRoad};

printf(NO.:%ld\nname:%s\n

sex:%c\naddress:%s\n,

a.num,a.name,a.sex,a.addr);

};#includestdio.h

voidmain()

{structStudent

{longintnum;ch

显示全部
相似文档