- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章结构体共用体与枚举类型_西安交大
9.1 结构体
9.2 结构体数组
9.3 结构体与指针
9.4 共用体
9.5 枚举类型
9.6 用typedef定义类型
;9.1 结构体;struct student
{int num;
char name[20];
char sex;
int age;
char addr[30];
};;定义结构体类型变量的方法;可用符号常量代表一个结构体类型;方法二:在定义类型的同时定义变量;方法三:直接定义结构类型变量;几点说明:;struct date
{int month;
int day;
int year;
};
Struct student
{int num;
char name[20];
int age;
struct date birthday;
}student1,student2;
;结构体类型变量的引用;3. 对成员变量可以象普通变量一样进行各种运算,如:
sumage=student1.age+student2.age;
4. 可以引用成员的地址,也可以引用结构体变量的地址,如:
scanf(“%d”, student1.num);
printf(“%o”,student1);
scanf(“%d,%s,%c,%d,%s”,student1);
;
Struct student
{ int no;
char name[20];
char sex;
struct
{ int year;
int month;
int day;
}birth;
};
Struct student s;;结构体变量的初始化;9.2 结构体数组(每个数组元素都是一个结构体类型的数据);结构体数组的引用;结构体数组的初始化;struct person
{ char name[20];
int count;
}leader[3]={“Li”,0,”zhang”,0,”Liu”,0};
main( )
{ int i, j;
char leader_name[20];
for( i=1;i=10;i++)
{ scanf(“%s”,leader_name);
for(j=0;j3;j++)
if(strcmp(leader_name,leader[j].name)= =0)leader[j].count++);
}
for(i=0;i3;i++)
printf(“%5s:%d\n”,leader[i].name,leader[i].count); };计算学生的平均成绩和不及格的人数。 ;9.3 结构体与指针;引用结构体成员的三种形式:
结构体变量名 . 成员名
(*p).成员名
p- 成员名;指向结构体数组的指针; struct student stu[3]={{10101, Li Lin, M, 18},
{10102, Zhang Fun, M, 19},
{10104, Wang Min, F, 20}};
void main()
{struct student *p;
printf( No. Name Sex age\n);
for (p=stu; pstu+3; p++)
printf(%5d %-20s %2c %4d\n, p-num, p-name, p-sex, p-age);
}
注意:p定义为struct student类型,它只能指向这种类型的结构体变量,而不能指向该类型的成员(p=stu.name是错误的)其它类型的结构体变量。
;用结构体变量和指向结构体的指针作为函数参数; #includestdio.h
#define format %d\n%s\n%f\n%f\n%f\n
struct student
{int num;
char name[20];
char sex;
float score[3];
};;9.4 共用体;已知:
union
{ int i;
char c;
float a;
}test;
则:sizeof(test)的值是:4;? 共用体数据的特点; 4)在函数间传递共用体时,只能使用指针的方法。
5)共用体类型可以出现在
文档评论(0)