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

c语言复杂数据类型及排序,c语言数据排序,c语言数据类型,c语言基本数据类型,c语言的数据类型,c语言数据类型长度,c语言数据类型转换,c语言数据类型有哪些,c语言中的数据类型,c语言中数据类型

复杂数据类型及排序 第十一章 回顾 上一节课主要讲解了以下内容: 字符串变量和常量 字符串指针 执行字符串的输入/输出操作 各种字符串函数 如何将数组作为参数传递给函数 如何将字符串用作函数参数 目标 2-1 解释结构体及它们的使用 定义结构体 声明结构体变量 解释如何访问结构体元素 解释如何初始化结构体 解释结构体中使用的赋值语句 解释如何将结构体作为参数传递给函数 使用结构体数组 解释结构体数组的初始化 目标 2- 2 解释结构体指针 解释如何将结构体指针作为参数传递给函数 解释 typedef 关键字 解释如何使用插入排序法和冒泡排序法对数组进行排序 结构体 结构体由许多组织在一起的数据项组成,这些数据项不需要属于同一类型 结构体可以容纳需要的任意多数据项 定义结构体 结构体定义形成了创建结构体变量的模板 结构体中的变量称为结构体元素或结构体成员 示例: 声明结构体变量 一旦定义了结构体,就可以声明一个或多个该类型的变量 示例:struct cat books1; 这条语句将会预留足够的内存来存放该结构体中的所有项 访问结构体元素 结构体元素通过使用点运算符(.)来引用,这个运算符也称为成员运算符 语法: structure_name.element_name 其中 structure_name 为结构体名称, element_name为元素名称。 示例: scanf("%s", books1.bk_name); 初始化结构体 与变量和数组一样,结构体变量也可以在声明时初始化 struct employee { int no; char name [20]; } employee 类型的变量 emp1 和 emp2 可以按照下面的方式进行声明和初始化: struct employee emp1 = {346, "Abraham"}; struct employee emp2 = {347, "John"}; 结构体中使用的赋值语句2- 1 可以使用一条简单的赋值语句将一个结构体变量的值赋给另一个相同类型的结构体变量 例如,如果 books1 和 books2 是同一类型的结构体变量,那么下列语句是有效的: books2 = books1; 结构体的赋值语句2- 2 在不能进行直接赋值的情况下,可以使用内置函数 memcpy() 语法: memcpy (char * destn, char &source, int nbytes); 示例: memcpy (&books2, &books1, sizeof(struct cat)); 结构体内的结构体 可以将一个结构体放入另一个结构体内。结构体不能嵌套它自身 struct issue { char borrower [20]; char dt_of_issue[8]; struct cat books; }issl; 访问结构体元素的格式与访问正常的结构体类似, issl.borrower 要访问结构体 cat 的元素,而cat 是另一个结构体 issue 的一部分,应使用下列语句 issl.books.author 将结构体作为参数进行传递 结构体变量可以作为参数传递给函数 使用这种方式可以将一组逻辑上相关的数据项一起传递,而不是逐个传递 变量的类型应该与参数的类型相匹配 结构体数组 结构体的一种常见用法是采用结构体数组的形式 首先定义结构体,然后声明该类型的数据变量 示例: struct cat books[50]; 访问数组 books 的第五个元素中的变量 author: books[4].author 结构体数组的初始化 结构体数组是通过用一对大括号将其元素值列表括起来进行初始化的 示例: 结构体指针 结构体指针是通过在结构体变量名前放置一个星号(*)来进行声明的 -> 运算符用于通过指针来访问结构体的元素 示例: struct cat *ptr_bk; ptr_bk = &books; printf("%s", ptr_bk->author); 将结构体作为参数传递给函数使得该函数可以直接修改结构体元素 typedef 关键字 可以使用 typedef 关键字来定义新的数据类型名 它并没有新建数据类型,而只是为已有的类型定义新的名字 语法: typedef type name; 示例: typedef float deci; typedef 不能用于存储类 数组排序 排序需要将数组中的数据按照指定的顺序(如升序或者降序)进行排列 有两种方式来对数组进行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值