结构体、共用体、枚举类

结构体、共用体、枚举类

ID:32433973

大小:61.00 KB

页数:5页

时间:2019-02-04

结构体、共用体、枚举类_第1页
结构体、共用体、枚举类_第2页
结构体、共用体、枚举类_第3页
结构体、共用体、枚举类_第4页
结构体、共用体、枚举类_第5页
资源描述:

《结构体、共用体、枚举类》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1声明一个结构体类型的一般形式为:struct结构体名{成员表列};如:structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};2定义结构体类型变量的方法(1)先声明结构体类型再定义变量名例如:structstudentstudent1,student2;

2、

3、

4、结构体类型名结构体变量名(2)在声明类型的同时定义变量这种形式的定义的一般形式为:struct 结构体名{成员表列}变量名表列;(3)直接定义结构体类型变量

5、其一般形式为:struct{    成员表列   }变量名表列;即不出现结构体名。注意:成员名可以与程序中的变量名相同,二者不代表同一对象。3可以引用结构体变量成员的地址,也可以引用结构体变量的地址。例如:scanf(″%d″,&student1.num);(输入student1.num的值)printf(″%o″,&student1);(输出student1的首地址)4结构体数组的初始化structstudent{intnum;charname[20];charsex;intage;floatscore;

6、charaddr[30]; }stu[2]={{10101,″LiLin″,′M′,18,87.5,″103BeijingRoad″},{10102,″ZhangFun″,′M′,19,99,″130ShanghaiRoad″}};5指向结构体变量的指针#include#includevoidmain(){structstudent{longnum;charname[20];charsex;floatscore;};structstudentstu_1;structs

7、tudent*p;p=&stu_1;stu_1.num=89101;strcpy(stu_1.name,”LiLin”);stu_1.sex=‘M’;stu_1.score=89.5;printf(″No.:%ld\nname:%s\nsex:%c\nscore:%f\n″,stu-1.num,stu-1.name,stu-1.sex,stu-1.score);printf(″No.:%ld\nname:%s\nsex:%c\nscore:%f\n″,(*p).num,(*p).name,(*p).sex,

8、(*p).score);}6以下3种形式等价:结构体变量.成员名(*p).成员名p->成员名7用指针处理链表(1)malloc函数(2)calloc函数(3)free函数其函数原型为voidfree(void*p);7.1typedefstruct{intn;struct{inty,m,d;}date;}PERSON;下面定义结构体数组并赋初值PERSONx[2]={1,04,10,1,2,04,12,30};PERSONx[2]={{1,04,10,1},{2,04,12,30}};PERSONx[2]=

9、{1,{04,10,1},2,{04,12,30}};7.2structperson{intid;charname[10];}per={1,"123456"};per.name="123456"Per.name[0]='1'7.3structsk{intn;floatx;}date,*p;要使p指向date中的n域:p=(structsk*)&date.n;8共用体的概念使几个不同的变量共占同一段内存的结构称为“共用体”类型的结构。共用体变量所占的内存长度等于最长的成员的长度。不能引用共用体变量,而只能引用

10、共用体变量中的成员。不能对共用体变量名赋值,不能企图引用变量名来得到一个值,不能在定义共用体变量时对它初始化(只有一个成员时可以,也可以只初始化一个值)。不能把共用体变量作为函数参数,不能使函数带回共用体变量,但可以使用指向共用体变量的指针8.1声明共用体类型、定义共用体类型变量的方法与结构体类型一样9枚举类型:将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。说明:(1)在C编译中,对枚举元素按常量处理,故称枚举常量。它们不是变量,不能对它们赋值。(2)枚举元素作为常量,它们是有值的,C语言编译

11、按定义时的顺序使它们的值为0,1,2…(3)枚举值可以用来作判断比较。(4)一个整数不能直接赋给一个枚举变量。9.1声明枚举类型、定义枚举类型变量的方法与结构体类型一样10枚举类型不支持++操作enumcolor{red,yellow,blue,white,black};enumcolori;for(i=red;i<=black;i=(enumcolor)(i+1))10.1enummoney{fen1=1,fe

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。