C-10(指针3).pptVIP

  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-10(指针3)

3G--嵌入式开发 C语言强化 指针数组(array of pointers) 一个数组的元素都是指针类型的数据,就称这个数组是指针数组。 解释:指针数组的所有元素都必须是具有相同存储类型和指向相同数据类型的指针变量 指针数组的定义形式为 类型标示符 *指针数组名[元素个数] 例如:int *p[4];------优先级? 为指针数组赋值或赋初值时,每个初值必须是地址 int a,b,c,*p[3]={a, b,c}; 指针数组元素的引用 指针数组参与运算 参与赋值元素时,形式为: 指针变量=指针数组名[下标] 参与算术运算时,形式为: 指针数组名[下标]±整数 ++指针数组名[下标] 参与关系运算时,形式为: 指针数组名[下标] 关系运算符 指针数组名[下标] 其中:算术运算和关系运算一般只使用于该指针元素指向某个数组时。 指针数组的内存布局 指针数组基本应用 用一个指针数组来指向一个二维数组。即指针数组中的每个元素被赋予二维数组每一行的首地址。 注意:指针数组、指向二维数组的指针变量的区别(二者都可以用来表示二维数组 例如:int (*p)[3]; int *p[3]; 单个指针 ; 多个指针 二维数组的列数为3; p[0],p[1],p[2]; 指针数组的应用 最常见的用途就是处理字符串 声明一个char型的指针数组,可以使用它存取操纵大量的字符串 Char*name[]={“Monday”,“Tuesday”,“Wednesday”, “Thursday”,“Friday”,“Saturday”,“Sunday”}; 指针数组name的每个元素被赋予一个字符串的首地址。 指针数组处理字符串 指针数组作函数的参数 例子:实现让用户输入5个国家名称并按字母顺序排列后输出 讲解:调用前的存储结构 排序后 关注参数的传递 运算结果 指向指针的指针 例如: int **p, *q, x; x=5; q=x; p=q;---一级指针变量的地址 取变量x的值,三种方法: x, *q, **p 利用指针变量访问另一个变量就是“间接访问”。 指向指针的指针用的是“二级间址”的方法。 实例:实现用指向指针的指针的方法对五个字符串排序并输出 例:设计一个函数,能动态定义一个整型数组,并通过键盘为该数组置初值。 在其他函数中调用init()就可以实现数组的初始化。 上机练习 设计一个函数,可用于建立具有任意行数和任意列数的动态二维整数数组。 指针与函数 指向函数的指针 指针变量可以指向整型变量、字符串、数组、还可以指向一个函数。 一个函数在编译时被分配一个入口地址,这个入口地址就称为该函数的指针。 指向函数的指针变量的定义形式: 数据类型 (*指针变量名)( ); 例如:int (*p)( ); 说明:这里定义了一个变量p,它是一个指向函数的指针变量,这个函数的返回值是一个整型量。 函数指针的用途 用函数指针调用函数 一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址。 把函数的这个首地址赋予一个指针变量 通过该指针变量就可以找到并调用这个函数 用函数指针做函数的参数 实现函数地址的传递,也就是将函数名传给形参 指向函数的指针 double fun(int a,int *p) {……} main() { double (*fp)(int, int *),y; int n; fp=fun; ……. y=(*fp)(56,n); } 定义 赋值 引用 简单例子:函数指针做函数参数 练习题 编写一个函数calculator,在调用它的时候,每次实现不同的功能。输入x和y两个数,第一次调用calculator时,输出x+y的值,第二次输出它们的差值,第三次输出它们的乘积,第四次输出商 指针函数 一个函数可以带回一个整型值、字符型值、也可以带回指针型的数据,即地址。 也就是说,该函数的返回值是指针型的。 指针函数定义的一般形式为: 类型说明符 *函数名(形参表); int *ap(int x,int y); 指针函数的调用和一般函数的调用方法完全相同 调用指针函数应注意:只能用指针变量或指针型数组元素来接受指针函数的返回值,不能用数组名。 例子:

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档