资源描述:
《C程序设计9-结构与链表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第九章结构与链表9.1结构的概念与定义方法将不同类型的分量(数据项)组合形成新的类型,这种类型被称之为结构.Structstudent{Intnum;Charname[16];Charsex;Intage;Floatscore;Charaddress[36]};Typedefstructstudent{}STUDENT;练习:一个学校(单位)的信息,一台电脑的信息,具有多门课程的同学信息1第九章结构与链表9.2结构的使用Structstudent{Intnum;Charname[16];Charsex;Intage;Floatscore;Charaddress[36]};Main(){
2、StructstudentmyStudent;myStudent.num=100;myStudent.sex=‘M’;StructstudentyourStudent;yourStudent.num=101;}示例2第九章结构与链表9.3结构体的初始化Structstudent{Intnum;Charname[16];Charsex;Intage;Floatscore;Charaddress[36]};Main(){StructstudentmyStudent={1,“Mr.Gao”,‘M’,44,90.2,”abc”};Printf(“%d,%s,%c,%d,%f,%s”,myStu
3、dent.num,….);}示例3第九章结构与链表9.4结构体数组Structstudent{Intnum;Charname[16];Charsex;Intage;Floatscore;Charaddress[36]};Main(){StructstudentmyStudent[100];myStudent[0].num=100;myStudent[0].sex=‘M’;Printf(“%d,%d”,myStudent[0].myStudent[0].num);}例如:求100个学生的平均年令.4第九章结构与链表9.5结构体指针Structstudent{Intnum;Charname
4、[16];Charsex;Intage;Floatscore;Charaddress[36]};Main(){Structstudent*p;P=malloc(sizeof(structstudent);(*p).num=100;P->sex=‘m’;}拓展:结构体组成的数组与指针的关系5第九章结构与链表9.6结构体变量作为函数参数(1)用结构体变量的成员作为函数参数:讨论(2)结构变量作为函数参数(3)结构变量的指针作为函数参数Structstudent{Intnum;Charname[16];Charsex;Intage;Floatscore;Charaddress[36]};Ma
5、in(){Structstudentp;p.num=100;P.sex=‘m’;F(p);}Voidf(structstudentx){x.Num=x.num+1;}示例6第九章结构与链表9.7链表(1)概念:链表是通过指针将结构变量链接在一起形成的一种存贮数据的数据结构(2)与数组的异同:(1)都是存贮一组数据(2)数组是连接存贮空间,链接非连接(3)尺寸(3)链表的组织结构Structstudent{Intnum;Charname[16];Charsex;Intage;Floatscore;Charaddress[36]Structstudent*next;};示例head∧7第九
6、章结构与链表9.7链表(4)链表建立,插入结点,删除结点,访问结点,链表的释放Structstudent{Intnum;Charname[16];Charsex;Intage;Floatscore;Charaddress[36]Structstudent*next;};示例head∧8第十章文件10.1文件(1)文件的概念(2)FILE类型(3)文件的访问FILE*fopen(文件名,读写标志)Fprintf(文件指针,格式控制串,表达式组组成的输出列表)Fscanf(文件指针,格式控制串,地址组成的输入列表Fclose(文件指针)feof(fp)(4)其他文件访问函数Fputc(),
7、fgetc(),fread(),fwrite(),fgets(),fputs()(5)文件的定位:Rewind(),fseek(),ftell()(6)出错检测:ferror(fp),clearerr(fp),feof(fp)示例9