网站大量收购独家精品文档,联系QQ:2885784924

第09章指针教程.pptx

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

第09章 指针;第09章;温故;9.1 引例;9.1 引例;Q1:为什么会出现这种情况? A1:C语言中函数调用过程的特点造成的 单向值传递 Q2:如何使用函数得到正确的积和商呢? A2:使用指针;9.1 引例;9.2 地址和指针的概念;9.2.1 地址和指针;9.2.2 内存单元的地址与内存单元的值;9.2.3 直接访问与间接访问;int i=3,j=6,k;;int i=3,j=6,k;;int i=3,j=6,k;;;9.2.3 直接访问与间接访问;指针 变量的地址(指针) 指针变量 指向 直接存取(访问) 间接存取(访问) ;指针 内存单元的地址 指向内存单元 变量的指针 变量的地址 变量的指针指向一个变量对应的内存单元;指针变量 地址变量 地址(指针)也是数据,可以保存在一个变量中 保存地址(指针)数据的变量称为指针变量 指向 一个指针变量保存了某个变量的地址(指针) 目标变量:被指向的变量 前提:指针变量的基类型与目标变量的类型相同;直接存取(访问) 变量名是“符号化”的变量的地址(指针) 通过变量名访问变量也就是通过变量的指针访问变量 这种访问方式叫做直接存取(访问);间接存取(访问) 两次直接存取 第一次 通过指针变量名获得目标变量的地址(指针) 第二次 通过目标变量的地址(指针)访问目标变量 拓展:多次 这种访问方式叫做间接存取(访问) ;9.3 指针变量;9.3.1 指针变量的定义;9.3.1 指针变量的定义;9.3.2 指针变量的引用;9.3.2 指针变量的引用;9.3.2 指针变量的引用;符号*出现在不同的场合中功能不同 ① 出现在变量声明中 int *p; ② 出现在算术表达式中,并当作双目运算符来使用,如“2*3”,表示对2和3做乘法; ③ 出现在其他地方,例如上面的“*p”中,功能是用来访问指针变量所指向的变量。 ;9.3.2 指针变量的引用;9.3.2 指针变量的引用;9.3.2 指针变量的引用;9.3.2 指针变量的引用;指针变量的内容不能是普通变量的值,只能是变量的地址,而且其基类型应与指针变量的基类型相同;9.3.2 指针变量的引用;通过指针变量引用其指向的变量时,指针变量必须有确定的值,或者说其必须有确定的指向。否则,会很容易造成非法内存访问错误而使程序异常终止。;9.3.2 指针变量的引用;思考题 如何避免例9.1中的情况?;Q:如何使用一个函数来交换两个变量的值? A:使用变量的地址或指向变量的指针变量作为实参,使用基类型相同的指针变量作为形参;9.3.3 指针变量作为函数参数;9.3.3 指针变量作为函数参数;9.3.3 指针变量作为函数参数;Q:如何通过函数调用修改主调函数中的n个变量的值,或者说,使函数“返回”多个值? A:具体操作步骤见P213 假设主调函数为main函数,被调函数为Func。;① 在main中定义n个变量。 ② 在main中调用Func,实参分别是n个变量的地址,或指向这n个变量的指针变量。 ③ 在Func函数定义中,使用与main中的n个变量的基类型相同的n个指针型变量作为形参。 ④ 在Func函数体中,通过n个指针型形参修改其指向的n个变量。 ⑤ 在main中使用调用Func后修改的n个变量。;输入3个整数,按由小到大的顺序输出。 要求: (1)在主函数中输入3个整数 (2)在一个自定义的函数中交换两个整数 (3)在主函数中按由小到大的顺序输出这三个整数 (4)在调用和定义交换函数时,要交换的两个整数的指针作为实参;整型指针变量作为形参;9.4 指针与数组;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;一维数组在内存中占用一块连续的内存空间 一维数组名a表示这块内存空间的首地址,也就是数组元素a[0]的地址,且不能修改 一维数组名a是一个指针常量。 p = a[0]; ? p=a; ;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;若p指向数组的某个元素,则p+1、p-1、p+n、p-n所指位置可能已超出数组所占内存的范围。 这在语法上是允许的,但是通过它们不能正确引用数组元素。;9.4.1 一维数组与指针;9.4.1 一维数组与指针;确保两个指针相减有意义的前提: 这两个指针的基类型应该相同;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.4.1 一维数组与指针;9.

文档评论(0)

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

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

1亿VIP精品文档

相关文档