C 语言程序设计实用教程 教学课件 作者 李庆亮 第5章 指 针.pptVIP

C 语言程序设计实用教程 教学课件 作者 李庆亮 第5章 指 针.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计实用教程 第5章 指  针 第5章 指  针 5.1 概念 5.2 指针变量的定义与引用 5.3 指针变量的运算 5.4 指针与数组 5.5 指针与字符串 5.6 指针数组与指向指针的指针 5.7 习题 第5章 指  针 图5-1 地址与变量的对应关系 5.1 概念 5.1.1 变量的地址与变量的内容 5.1.2 直接访问与间接访问 图5-2 指向变量x的指针变量 5.1.3 指针与指针变量 5.2 指针变量的定义与引用 5.2.1 定义 5.2.2 引用 1. 指针变量的初始化 图5-3 指针变量p指向变量x 1) 变量x的类型必须和指针变量p的类型一致,例如以下定义是非法的。 5.2 指针变量的定义与引用 2) 不允许把一个指针变量初始化为一个常数,下面的对指针变量p初始化也是非法的。 2. 使用指针访问变量 图5-4 取ip为地址的存储区域中的内容 10 11 1) 如果已经执行了p = a;语句,则*p的含义是什么? 2) *a含义是什么? 5.2 指针变量的定义与引用 图5-5 *与运算之间的关系 5.3 指针变量的运算 5.3.1 赋值运算 1) 指针变量初始化赋值,前面已作介绍。 2) 把一个变量的地址赋予指向相同数据类型的指针变量。 3) 把一个指针变量的值赋予指向相同类型变量的另一个指针变量。 4) 把数组的首地址赋予指向数组的指针变量。 5) 把字符串的首地址赋予指向字符类型的指针变量。 6) 把函数的入口地址赋予指向函数的指针变量。 图5-6 交换指针变量值前后的情况 5.3 指针变量的运算 5.3.2 算术运算 (1) 指针变量与整数的加减运算 (2) 指针变量的自加自减运算 (3) 两个指针变量之间的相减运算 5.3.3 关系运算 5.4 指针与数组 5.4.1 指针与一维数组 1. 数组指针变量的定义 2. 通过指针引用数组元素 1) a[0] 一般的下标存取方法; 2) *a a指向数组的首地址,*a即为取该地址处的内容; 3) *p 因有p = a,*p即为取该地址处的内容。 1) a[i] 一般的下标存取方法; 2) *(a+i) a + i就是a[i]的地址,取该内存单元的值; 3) *(p+i) p + i也是a[i]的地址,取该内存单元的值。 图5-7 指针与数组的关系 5.4 指针与数组 (1) 用下标法存取数组元素 (2) 通过数组名输出存取数组元素 (3) 用指针变量存取数组中的元素 1) p++ p指向下一元素,即a[1]。 2) *p++  等价于先得到*p,然后p = p + 1。 3) *(++p);*(p++)  等价于使p先加1,再取*p。 4) (*p)++ 等价于先得到*p,然后将其值加1(p所指向元素的值加1),而不是指针值加1。 5.4.2 指针与二维数组 1. 二维数组的地址 图5-8 二维数组 5.4 指针与数组 2. 指向二维数组元素的指针变量 0  1  2  3 10 11 12 13 20 21 22 23 图5-9 二维数组行存储示意图 3. 指向二维数组的行指针变量 5.4 指针与数组 图5-10 指向二维数组的行指针示意图 5.5 指针与字符串 1. 指向字符串的指针变量 图5-11 指向字符串的指针变量说明 图5-12 字符串指针变量加运算说明 2. 使用字符串指针变量与字符数组的区别 1) 字符串指针变量本身是一个变量,用于存放字符串的首地址。 2) 对字符串指针方式: 5.6 指针数组与指向指针的指针 5.6.1 指针数组 1  2  3  4 5  6  7  8 图5-13 指针数组与一维数组之间的关系 1  2  3 4  5  6 7  8  9 5.6 指针数组与指向指针的指针 图5-14 指针数组与二维数组之间的关系 5.6 指针数组与指向指针的指针 图5-15 用指针数组表示一组字符串 5.6.2 指向指针的指针 5.6 指针数组与指向指针的指针 图5-16 指向指针的指针变量示意图 1  3  5  7  9 5.6 指针数组与指向指针的指针 图5-17 指向指针数组的指针 1  2  3 4  5  6 5.6 指针数组与指向指针的指针 7  8  9 5.7 习题 一、 选择题 1. 下列程序段的输出结果是(  )。 2. 下列程序的输出结果是(  )。 3. 下面程序的输出结果是(  )。 4. 以下程序的输出结果是(  )。 5. 设有int a[ ]={10,11,12},*p=a[0];则执行完*p++;*p+=1;后a[0],a[1], 的值依次是(  )。 6. 设有说明int s[2]={0,1},*p=s; 则下列错误的C语句是(  )。 7. 若有说明:i

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档