c语言数组与指针_指针篇_2011.ppt

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

指 针 6.2 指针的概念 6.3 指针与数组 6.4 字符串的指针 6.5 指针数组和指向指针的指针;6.2.1 地址与指针的概念 ;指针的概念;内存地址;2、数组与地址 ;指针与指针变量 ;寻址; 指针变量的定义、初始化和引用 ;(二)、指针变量的引用方式 ;2、通过指针变量来引用所指向的变量;(三)、取地址运算符与指针运算符 ;和*优先级别 ;例如,设有变量a、指针变量pa,且pa已经指向a。;例:用指针变量按从小到大的顺序输出三个整数。;6.3 指针与数组;指向一维数组的指针; 指向一维数组的指针变量的使用 ;● 当指针变量指向下标为i的数组元素时,引用数组元素的方 法如下:; 方法1,2引用数组元素的方法使用了“指针运算符”,称为 “指针法”;方法3,4引用数组元素的方法使用了“下标运算符([])” 称为“下标法”。;2、指向一维数组的指针变量的运算;指针变量-整数 “指针变量中的地址-整数*指针变量类型占 用单元数”对应的地址;指针变量-- “指针变量中的地址”对应的地址(因为是后缀 减1运算符),此后,指针变量将指向上一个 数组元素。;例如:设定义了整型数组a[10],整型指针变量pa,且执行了 pa=a。假定数组a的首地址为2000。请看下列的表达式及其 运算结果:;(2)指针变量和指针变量的减法运算; 当两个指针变量的值(地址值)满足关系运算时,结果为1(真)否则结果为0(假)。 例如,定义了数组a和同类型的指针变量p1、p2;使p1指向数组元素a[2];p2指向数组元素a[3]。下列关系表达式及其运算结果:;例:输入10个整数存入一维数组,从中查找某个整数(该数从 键盘上读取),查到则输出其是第几个数,查不到则输出“Not Find!”。要求用指针法处理。;3、关于使用“指针法”处理一维数组元素的下标越界问题; 虽然C语言允许处理数组元素时下标可以越界,但在程序 中要尽量避免。当出现下标越界的情况,如果你使用的是数组 元素值,显然这个值不知为何值;如果你是将某个值存入该数 组元素,结果将会破坏对应内存单元中原来的值,使得后面程 序运行时,结果不正确,甚至出现预料不到的问题,而这样的 错误很难查找。; 指向二维数组的指针变量的使用 ;例1:输入2行3列的矩阵元素后,存入二维数组。再按行列 格式输出。;2、指针变量指向二维数组的首地址;(2)二维数组元素的引用方法。; 如果定义指针变量p并且指向数组a的首地址,则这些元素 的地址和引用方法如下:;例2:重编例1,要求使用指向二维数组首地址的指针变量处理 二维数组元素。;3、指针变量指向二维数组中某个一维数组; 然后再用初始化或赋值方式将该指针变量指向二维数组的 首地址 类型(* 指针变量)[m]=二维数组名 (初始化) 指针变量=二维数组名 (赋值);使用这种指针变量,需要注意以下几点:;(2)二维数组元素的引用方法。;二维数组中的一维数组; 6.4 字符串的指针;1、如何将指针变量指向字符串常量; 可以用赋值方式使指针变量指向字符串常量,但是不允 许将字符串常量赋值给字符型数组。例如,下列的程序段是 错误的:;2. 指向存放字符串的字符数组的指针变量的使用;6.5 指针数组和指向指针的指针 ;[格式] [存储类型] 数据类型 * 指针数组名[长度]={初值};;(4)省略“存储类型”,默认为自动型(auto)。;2、指针数组元素的引用 ;例5:输入5个字符串存入一个二维数组中,然后定义一个指针 数组,使其元素分别指向这5个字符串并输出。;3、多级指针的定义和应用 ;[说明];(3)定义时的“数据类型”可以选任何基本数据类型,也可以选 取以后介绍的其它数据类型。这个数据类型是它将要指向 的指针变量所指向的变量或数组的数据类型。; 当某个二级指针变量已指向某个一级指针变量,而这个一级 指针变量已指向某个普通变量,则下列的引用格式都是正确的。;例6:输入5个字符,从中找出最大的字符并输出。要求用字符 数组存放这5个字符,用指针数组元素分别指向这5个字符,再 用一个二级指针变量指向这个指针数组。;课堂练习—指针应用程序设计例题;例2:求3×5整数矩阵中的最大元素、最小元素、所有元素的 平均值。(要求用指向二维数组首

文档评论(0)

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

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

1亿VIP精品文档

相关文档