康辉C语言视频教程8

康辉C语言视频教程8

ID:43162395

大小:461.50 KB

页数:76页

时间:2019-10-01

康辉C语言视频教程8_第1页
康辉C语言视频教程8_第2页
康辉C语言视频教程8_第3页
康辉C语言视频教程8_第4页
康辉C语言视频教程8_第5页
资源描述:

《康辉C语言视频教程8》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、8.1结构1.结构:是拥有若干分量的一种构造类型,而且一个结构的分量可以有不同的类型,包括指针、数组、其它结构。2.定义:struct结构类型名{成员列表};第八章结构和联合例:structdate{unsignedyear;unsignedmonth;unsignedday;};yearmonthday注:不带变量的结构说明不占存储空间,结构类型集中放到一个文件中,需要时用#include3.三种定义结构变量的方法1)先定义结构类型,再定义结构变量structdate{unsignedyear;unsignedmonth;unsignedday;};structd

2、ated1,d2yearmonthdayd1yearmonthdayd22)在定义结构类型的同时定义变量structdate{unsignedyear;unsignedmonth;unsignedday;}d1,d2;3)直接定义结构类型变量struct{unsignedyear;unsignedmonth;unsignedday;}date,d1,d2;3.三种定义结构变量的方法structstudent{intnum;charname[20];charsex;intage;structdatebirthday;charaddr;}student1,student

3、2;4.结构的嵌套structdate{unsignedyear;unsignedmonth;unsignedday;};numnamesexagebirthdayyearmonthdayaddr8.2访问结构成员旧标准规定只能对结构变量中的成员分别访问,而不能对结构变量进行赋值和输出。新标准允许将一个结构变量直接赋给另一个具有相同结构的结构变量。如果结构变量本身又属于一个结构类型,只能对最低层的成员进行赋值、存取和运算。如:student1.birthday.year=1967;“.”是成员(分量)运算符,优先级最高,自左向右结合。结构成员可以象普通变量一样进行各

4、种运算,例如:student2.age=student1.age;student1.age++;++studdent2.age;可以引用成员的地址,结构变量的地址,例如:&student1.num&student18.2访问结构成员当结构变量为全局变量或静态变量时,可在定义时初始化,例如:staticstructstudent{intnum;charname[20];charsex;charaddr[20];}a={54,“Jane”,“M”,“123Road”};8.2访问结构成员8.3结构数组和指向结构的指针当结构中的每一个元素都是同一结构类型时,称该数组为结构

5、数组。定义结构数组时,可对全局或静态存储类别的数组初始化。structstudent{intnum;charname[20];intage;charaddr[30];}stu[]={{10101,“LiLin”,18,“M”,“beijing”},{10102,“FuPing”,19,“M”,“shanghai”}};numnamesexageaddr10101LiLinM18beijing10102FuPing19shanghaiMstustructstudent{intnum;charname[20];intage;charaddr[30];}stu[]={{1

6、0101,“LiLin”,18,“M”,“beijing”},{10102,“FuPing”,19,“M”,“shanghai”}};8.3结构数组和指向结构的指针structvalue{intkey;intfreq;};#defineARRAYSIZE1000;staticstructvalueset_arr[ARRAYSIZE];find(x)intx{inti,m;set_arr[m=set_arr[0].freq+1].key=x;set-arr[m].freq=0;for(i=1;set-arr[i].key!=x;i++);set-arr[i].freq

7、++;if(i==m)set-arr[0].freq++;}例8.1在某集合中查询是否存在值x,若不存在,则将x加入集合中。每次查询均记录查询的频率。keyfreqset-arr[0]set-arr[i]set-arr[m]x0xfreq++字符个数指向结构的指针:用一个指针变量指向结构变量,此时该指针变量的值是结构变量的起始地址。指针变量也可以用来指向结构数组中的元素。例如:structstudentstu_1;/*定义结构变量*/structstudentstu[4];/*定义结构数组*/structstudent*p;/*定义指向结构的指针变量*/p=&s

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

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

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