《移动通信软件编程基础—C语言》第12章指针的高级使用.pptVIP

《移动通信软件编程基础—C语言》第12章指针的高级使用.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《移动通信软件编程基础—C语言》第12章指针的高级使用

知识回顾 本章目标 数组的特性(回顾) 二维数组可以看作一维数组的嵌套 指针变量指向一个数组首地址 数组的指针是数组的地址,即数组的起始地址,也就是数组第一个元素的地址 一维数组的指针和指针变量 一维数组的指针和指针变量 一维数组的指针和指针变量 定义时初始化 一维数组的指针和指针变量 引用一个数组元素 下标法,如arr[i] 一维数组的指针和指针变量 一维数组的指针和指针变量 地址法 一维数组的指针和指针变量 指针法 二维数组的指针和指针变量 二维数组的指针和指针变量 定义时初始化 二维数组的指针和指针变量 字符串 字符串 指针作为函数参数--传值调用 指针作为函数参数--传值调用 指针作为函数参数—引用调用 指针作为函数参数—引用调用 指针作为函数参数--引用调用 一维数组作为参数 二维数组作为参数 单个结构指针变量作为函数参数 结构数组指针变量作为函数参数 总结 习题 作业 第12章 数组的指针是数组在内存中的首地址 函数两种参数传递的方式:按值传递、按引用传递 数组名和指向数组地址的指针变量作函数参数时,效果是一样的 结构体指针作为函数参数传递的是结构体变量或结构体数组的地址 1、从10个整数中找出最大值和最小值(用数组名做参数、用指针作参数) 2、输出二维数组中任一元素的值(用指针实现) 3、用函数调用实现字符串的复制 main() { int? a=5,? *b,?**c; c=b;?? b=a; } 程序在执行了c=b:b=a;语句后,表达式:**c的值是   A) 变量a的地址 ?   B) 变量b中的值   C) 变量a中的值?   D) 变量b的地址 IC-MSP2.0 IC-MSP2.0 * 移动通信软件编程基础 —— C语言 结构体 结构变量中的成员类型可以各不相同 必须先定义结构类型,再使用该类型定义变量 访问结构变量的成员:结构变量名.成员名 如有指针p指向结构体变量stu,则: stu.number 等价于 p-number 等价于 (*p)-number 结构数组的每个元素的类型为结构类型 结构变量做函数参数时是值传递 12 指针的高级使用 第 章 理解函数两种参数传递方式:传值、引用 理解指针和数组的关系 理解数组作为函数参数 理解结构体指针作为函数参数 数组存储在一块连续内存单元中 声明数组时会为该数组分配内存空间,但并不会初始化 使用数组下标访问数组元素 ,对单个数组元素进行处理 使用数组下标访问数组元素 ,对单个数组元素进行处理 数组元素的指针是数组元素的地址 10 11 12 19 arr [ 0 ] arr [ 1 ] arr [ 2 ] arr [ 9 ] 1002 1004 1018 1000 p 1000 10 11 12 19 arr [ 0 ] arr [ 1 ] arr [ 2 ] arr [ 9 ] 1002 1004 1018 1000 数组的指针 arr 或 arr [ 0 ] 数组元素 数组元素的指针 1000 p 指向数组的指针变量 通过赋值初始化 int arr[10], *p = arr; 或者 int arr[10], *p = arr[0]; int arr[10], *p; p = arr[0]; 或者 p = arr; 10 arr [ 0 ] 11 arr [ 1 ] 12 arr [ 2 ] 13 arr [ 3 ] 14 arr [ 4 ] 15 arr [ 5 ] 16 arr [ 6 ] 1000 p p = arr p + 3 1000 地址法,通过数组名计算元素地址,找出元素的值,如*(arr + i) 指针法,用指针变量指向数组元素,如*(p + i) 演 示 以三种方式输出数组中的值 10 arr [ 0 ] 11 arr [ 1 ] 12 arr [ 2 ] 13 arr [ 3 ] 14 arr [ 4 ] … 19 通过数组名计算地址过程 arr [ 9 ] i = 0 arr arr+1 i = 1 arr+2 i = 2 arr+9 i = 9 *( arr + i ) 10 arr [ 0 ] 11 arr [ 1 ] 12 arr [ 2 ] 13 arr [ 3 ] 14 arr [ 4 ] … 19 1000 p p=arr 1000 指针引用过程 arr [ 9 ] i = 0 p p+1 i = 1 p+2 i = 2 p+9 i = 9 *( p + i ) 通过赋值初

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档