1、1第第9 9章章 结构体、共用体和枚举类型结构体、共用体和枚举类型2记录某班记录某班3030名学生的姓名、学号、性别、名学生的姓名、学号、性别、成绩、年龄成绩、年龄int ages30; int ids30;char sexes30;int ages30; int ids30;char sexes30;char names3020; float scores30char names3020; float scores30解决问题:记录某班所有学生的成绩解决问题:记录某班所有学生的成绩 3 3 名?名? 30 30 名?名?float x,y,z;float scores30;3结构体类型名结构
2、体类型名关键词关键词结构体的成员变量,结构体的成员变量,可为导出类型可为导出类型4s1idnamesexagescore56=715 60 7010 100 1000 0 01 60 304 80 9089共同体类型变量占用的存储共同体类型变量占用的存储空间由占有最大存储区的成空间由占有最大存储区的成员决定(员决定(d1占用占用4个字节)个字节)10几种可能的值,可以定义几种可能的值,可以定义enum weekdays Sun ,Mon ,Tue ,Wed ,Thu ,Fri ,Sat ; enum boolean True=1,False=0 ;enum green,blue,yellow;
3、11enum weekdays Sun ,Mon ,Tue ,Wed ,Thu ,Fri ,Sat ; 分别指定其元素的值为分别指定其元素的值为0、1、2、3、4、5、6enum boolean True=1,False=0 ;weekdays day1 = Fri ;12enum color red,yellow,blue,white,black ;color i,j,k;int n=0;for(i=red;i=black;i=(color)(int)i+1) for(j=red;j=black;j=(color)(int)j+1) for(k=red;k=black;k=(color)(i
4、nt)k+1)if (i!=j&i!=k&j!=k) print(i);print(j);print(k); 13LENGTH i,j; LENGTH i,j; 等同于等同于: int i,j; : int i,j; STRING s1,s2; STRING s1,s2; 等同于等同于: char : char * *s1,s1,* *s2;s2;VEC x,y;VEC x,y; 等同于等同于: int x50,y50;: int x50,y50;TREENODE pp,p110;TREENODE pp,p110; 等同于等同于: node pp,p110;: node pp,p110;TREEPTR p;TREEPTR p; 等同于等同于: node: node* * p; p;5 5 类型定义类型定义