[工学]第3讲 数组、指针、字符串、结构R.ppt

[工学]第3讲 数组、指针、字符串、结构R.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第3讲 数组、指针、字符串、结构R

数 组 指针的概念 指针变量 数组的指针 字符数组 字符串的指针 字符串处理函数 有关指针的数据类型的小结 结构体与共用体 结构体 结构体 结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体-------自定义数据类型 结构体类型定义 结构体变量的定义 先定义结构体类型,再定义结构体变量 一般形式: 定义结构体类型的同时定义结构体变量 一般形式: 结构体变量的引用 引用规则 结构体变量不能整体引用,只能引用变量成员 结构体变量的初始化 形式一: 结构体数组 定义的三种形式: 结构体数组初始化及引用 结构体和指针 指向结构体变量的指针 定义形式:struct 结构体名 *结构体指针名; (*结构体指针名).成员名 等价于 结构体指针名-成员名 用指向结构体的指针作函数参数 用结构体变量的成员作参数----值传递 用指向结构体变量或数组的指针作参数----地址传递 用结构体变量作参数----多值传递,效率低 共用体 构造数据类型,也叫联合体 用途:几个不同类型的变量共占一段内存(相互覆盖) 共用体类型定义 定义形式: 结构体与共用体 位段 单向链表 简单链表的建立与遍历 动态链表所需的函数:动态地开辟和释放存储单元 简单链表的动态建立 常用算法二 - 排序问题 选择法排序 冒泡法排序 插入法排序 模拟:牌手理牌的过程 每抓一张牌,即将其插入到恰当位置 然后再抓下一张牌 给定排好序的前i个数 a[0] ~ a[i-1], 将a[i]中的数插入到恰当的位置 比较a[i]与a[i-1], 如果a[i-1]较大,则 将其后移,并继续比较a[i]与a[i-2] 直至找到大于a[i]的a[j],则a[i]应排在a[j]之后 插入法排序 常用算法—数据查找—顺序查找 常用算法—数据查找—二分查找 常用算法---- 数据插入与删出低字节 高字节01100001 ch[0] ch[1] 运行结果: i=6141 ch0=41,ch1=61 ch0=A,ch1=a void main() { union int_char { int i; char ch[2]; }x; x.i=24897; printf(i=%x\n,x.i); printf(ch0=%x,ch1=%x\n ch0=%c,ch1=%c\n, x.ch[0],x.ch[1],x.ch[0],x.ch[1]); } 例 将一个整数按字节输出 区别: 存储方式不同 struct node { char ch[2]; int k; }a; union node { char ch[2]; int k; }b; a ch k b ch k 变量的各成员同时存在 任一时刻只有一个成员存在 联系: 两者可相互嵌套 我们可以按位为单位,来定义结构成员的长度 例: struct packdata { unsigned a:2; unsigned b:2; unsigned c:4; unsigned d:4; int i; }data; main() { int x1,x2,x3; data.a=3; data.b=15; data.c=13; data.d=11; data.i=3245; x1=data.a+data.i; x2=data.i-data.b; x3=data.c*data.d; printf(data.a=%d\ndata.b=%d\ndata.c=%d,data.d=%d\n data.i=%d\n, data.a,data.b,data.c,data.d, data.i); printf(x1=%d\nx2=%d\nx3=%d\n,x1,x2,x3); } 输出:data.a=3 data.b=15 data.c=13 data.d=11 data.i=3245 x1=3248 x2=3242 x3=143 功能:用自定义名字为已有数据类型命名 类型定义简单形式: typedef type name; 例 typedef int INTEGER; typedef float REAL; 类型定义语句关键字 已有数据类型名 新定义的类型名 类型定义后,与

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档