C语言程序设计教程(第二版) 徐新华 第10章 结构类型新.ppt
文本预览下载声明
2004-4-17 10.1* 结构体类型与结构体变量的定义 [案例10.1] 定义一组反映学生基本情况的结构类型,用以存储学生的相关信息。 struct date /*日期结构类型*/ {int year ; int month ; int day ; }; struct date /*日期结构类型*/ {int year, month, day ; }; struct std_info /*学生信息结构类型*/ {char no[7]; char name[9]; char sex[3]; struct date birthday; }; struct score /*成绩结构类型*/ {char no[7]; int score1, score2, score3; }; 1、 结构体类型的定义 struct 结构体类型名 { 数据类型 数据项1; 数据类型 数据项2; …… …… 数据类型 数据项n; }; (1)“结构体类型名”和“数据项”的命名规则,与变量名相同。 (2)相同数据类型的数据项,既可逐个、逐行分别定义,也可合并成一行定义。 例如,[案例10.1]中的结构体类型date。 (3)结构体类型中的数据项,允许是已定义的另一个结构体类型。 例如, [案例10.1]中、结构体类型std_info的数据项“birthday” 。 2、结构体变量的定义 (1)间接定义──先定义类型、再定义变量 例如,利用[案例10.1]中、结构体类型std_info,定义结构体变量student: struct std_info student ; 则结构体变量student拥有结构体类型std_info的全部数据项。 (2)直接定义──定义类型的同时,定义变量 struct [结构类型名] { ……} 结构变量表; 说明:结构类型中的数据项名(又称成员名),可以与程序中的变量同名。 [返回] 10.2* 结构体变量的引用与初始化 [案例10.2] 利用[案例10.1]中的结构体类型std_info,定义结构体变量student,用于存储和显示1个学生的信息。 #include struct.h struct std_info student ={000102,张三,男,{1980,9,20} }; #include stdio.h #include conio.h void main( ) { printf(No: %s\n, student . no); printf(Name: %s\n, student . name); printf(Sex: %s\n, student . sex); printf(Birthday: %d-%d-%d\n, student.birthday. year, student.birthday. month, student.birthday. day ) ; getch(); } 程序运行结果: No: 000102 Name: 张三 Sex: 男 Birthday: 1980-9-20 1、结构体变量成员的引用规则 (1) 基本类型: 结构变量.成员 例如,student.no,student.name等。 (2) 结构体类型:结构变量.成员[.成员……] 例如:student.birthday.year student.birthday.month student.bir
显示全部