C语言复杂数据类型及排序.ppt

C语言复杂数据类型及排序.ppt

ID:57695386

大小:330.00 KB

页数:26页

时间:2020-09-01

C语言复杂数据类型及排序.ppt_第1页
C语言复杂数据类型及排序.ppt_第2页
C语言复杂数据类型及排序.ppt_第3页
C语言复杂数据类型及排序.ppt_第4页
C语言复杂数据类型及排序.ppt_第5页
资源描述:

《C语言复杂数据类型及排序.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、复杂数据类型及排序第十一章回顾上一节课主要讲解了以下内容:字符串变量和常量字符串指针执行字符串的输入/输出操作各种字符串函数如何将数组作为参数传递给函数如何将字符串用作函数参数2目标2-1解释结构体及它们的使用定义结构体声明结构体变量解释如何访问结构体元素解释如何初始化结构体解释结构体中使用的赋值语句解释如何将结构体作为参数传递给函数使用结构体数组解释结构体数组的初始化3目标2-2解释结构体指针解释如何将结构体指针作为参数传递给函数解释typedef关键字解释如何使用插入排序法和冒泡排序法对数组进行排序4结构体结构体由许多组织在一起的数据项

2、组成,这些数据项不需要属于同一类型结构体可以容纳需要的任意多数据项1变量ILLUSION数组ILLUSIONBACH1作者版次5定义结构体结构体定义形成了创建结构体变量的模板结构体中的变量称为结构体元素或结构体成员示例:structcat{charbk_name[25];charauthor[20];intedn;floatprice;};6声明结构体变量一旦定义了结构体,就可以声明一个或多个该类型的变量示例:structcatbooks1;这条语句将会预留足够的内存来存放该结构体中的所有项structcat{charbk_name[25]

3、;charauthor[20];intedn;floatprice;}books1,books2;其他方法structcatbooks1,books2;或structcatbooks1;structcatbooks2;7访问结构体元素结构体元素通过使用点运算符(.)来引用,这个运算符也称为成员运算符语法:structure_name.element_name其中structure_name为结构体名称,element_name为元素名称。示例:scanf("%s",books1.bk_name);8初始化结构体与变量和数组一样,结构体变量也

4、可以在声明时初始化structemployee{intno;charname[20];}employee类型的变量emp1和emp2可以按照下面的方式进行声明和初始化:structemployeeemp1={346,"Abraham"};structemployeeemp2={347,"John"};9结构体中使用的赋值语句2-1可以使用一条简单的赋值语句将一个结构体变量的值赋给另一个相同类型的结构体变量例如,如果books1和books2是同一类型的结构体变量,那么下列语句是有效的:books2=books1;10结构体的赋值语句2-2在

5、不能进行直接赋值的情况下,可以使用内置函数memcpy()语法:memcpy(char*destn,char&source,intnbytes);示例:memcpy(&books2,&books1,sizeof(structcat));11结构体内的结构体可以将一个结构体放入另一个结构体内。结构体不能嵌套它自身structissue{charborrower[20];chardt_of_issue[8];structcatbooks;}issl;访问结构体元素的格式与访问正常的结构体类似,issl.borrower要访问结构体cat的元素,

6、而cat是另一个结构体issue的一部分,应使用下列语句issl.books.author12将结构体作为参数进行传递结构体变量可以作为参数传递给函数使用这种方式可以将一组逻辑上相关的数据项一起传递,而不是逐个传递变量的类型应该与参数的类型相匹配13结构体数组结构体的一种常见用法是采用结构体数组的形式首先定义结构体,然后声明该类型的数据变量示例:structcatbooks[50];访问数组books的第五个元素中的变量author:books[4].author14结构体数组的初始化结构体数组是通过用一对大括号将其元素值列表括起来进行初始

7、化的示例:structunit{charch;inti;}structunitseries[3]={{'a',100}{'b',200}{'c',300}}15结构体指针结构体指针是通过在结构体变量名前放置一个星号(*)来进行声明的->运算符用于通过指针来访问结构体的元素示例:structcat*ptr_bk;ptr_bk=&books;printf("%s",ptr_bk->author);将结构体作为参数传递给函数使得该函数可以直接修改结构体元素16typedef关键字可以使用typedef关键字来定义新的数据类型名它并没有新建数据类型

8、,而只是为已有的类型定义新的名字语法:typedeftypename;示例:typedeffloatdeci;typedef不能用于存储类17数组排序排序需要将数组中的数据按照指

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

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

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