9第章用户自己建立数据类型
9 用户自己建立数据类型 第 章
定义和使用结构体变量
定义和使用结构体变量
struct结构体名自己建立结构体类型【成员表列C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体(structre)。在程序中建立一个结构体类型:结构体类型的名字是由一个关键字struct和结addrnumsexagenamescore构体名组合而成的。结构体名由用户指定,又10010M1887.5LiFangBeijing称结构体标记”(structuretag)。structStudent花括号内是该结构体所包括的子项,称为结构//学号为整型int num;体的成员(member)。对各成员都应进行类型声//姓名为字符串charname[20]char sex;//性别为字符型明,即类型名成员名:1/年龄为整型intage;成员表列”(memberlist)也称为域float score;1/成绩为实型//地址为字符串表”(fieldlist),每一个成员是结构体中的一个charaddr[30]7://注意最后有一个分号域。成员名命名规则与变量名相同
C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体(structre)。 在程序中建立一个结构体类型: 自己建立结构体类型 struct 结构体名 {成员表列}; struct Student { int num; //学号为整型 char name[20]; //姓名为字符串 char sex; //性别为字符型 int age; //年龄为整型 float score; //成绩为实型 char addr[30]; //地址为字符串 }; //注意最后有一个分号 num name sex age score addr 10010 Li Fang M 18 87.5 Beijing 结构体类型的名字是由一个关键字struct和结 构体名组合而成的。结构体名由用户指定,又 称“结构体标记”(structure tag) 。 花括号内是该结构体所包括的子项,称为结构 体的成员(member)。对各成员都应进行类型声 明,即 “成员表列”(member list)也称为“域 表”(field list),每一个成员是结构体中的一个 域。成员名命名规则与变量名相同。 类型名 成员名;
自己建立结构体类型(1)结构体类型并非只有一种,而是可以设计出许多种结构体类型,各自包含不同的成员。birthday(2)成员可以属于另一个结构体类型。addrnumnamesexagemonthdayyearstructDate1/声明一个结构体类型structDate1/月intmonth;1/日int day:1/年intyear,1;struct Student//声明一个结构体类型structStudentint num;char name[20]char sex,intage://成员birthday属于structDate类型structDatebirthday,char addr[30];1;
自己建立结构体类型 (1) 结构体类型并非只有一种,而是可以设计出许多种结构体类型,各自包含不同的成员。 (2) 成员可以属于另一个结构体类型。 struct Date //声明一个结构体类型 struct Date { int month; //月 int day; //日 int year; //年 }; struct Student //声明一个结构体类型 struct Student { int num; char name[20]; char sex; int age; struct Date birthday; //成员birthday属于struct Date类型 char addr[30]; }; num name sex age birthday addr month day year
定义结构体类型变量1.先声明结构体类型,再定义该类型的变量2.在声明类型的同时定义变量structStudentstruct结构体名structStudent1/学号为整型intnum;intnum;成员表列//姓名为字符串charname[20]char name[20]变量名表列;1/性别为字符型char sex,charsex;1/年龄为整型intageintage:float score;floatscore;//成绩为实型char addr[30]://地址为字符串charaddr[30]1://注意最后有一个分号Jstudent1,student23.不指定类型名而直接定义结构体类型变量structStudentstudent1,student2struct结构体类型名结构体变量名成员表列390.510001Zhang XinM19Shanghaisutdentl:变量名表列:20Wang Li98Beijingstudent2:10002L
定义结构体类型变量 1. 先声明结构体类型,再定义该类型的变量 2. 在声明类型的同时定义变量 struct Student student1, student2; 3. 不指定类型名而直接定义结构体类型变量 | | | 结构体类型名 结构体变量名 struct Student { int num; //学号为整型 char name[20]; //姓名为字符串 char sex; //性别为字符型 int age; //年龄为整型 float score; //成绩为实型 char addr[30]; //地址为字符串 }; //注意最后有一个分号 sutdent1: 10001 Zhang Xin M 19 90.5 Shanghai student2: 10002 Wang Li F 20 98 Beijing struct Student { int num; char name[20]; char sex; int age; float score; char addr[30]; }student1, student2; struct 结构体名 { 成员表列 }变量名表列; struct { 成员表列 }变量名表列;