- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计实用教程 第5章 指 针 在线教务辅导网: 教材其余课件及动画素材请查阅在线教务辅导网 QQ:349134187 或者直接输入下面地址: 第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 111) 如果已经执行了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 310 11 12 1320 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 45 6 7 8 图5-13 指针数组与一维数组之间的关系 1 2 34 5 67 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 34 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], 的
您可能关注的文档
- Android应用开发教程 作者 罗文 第一章教学课件.ppt
- ANSYS基础与实例教程 作者 张洪信 第1章.ppt
- ANSYS基础与实例教程 作者 张洪信 第2章.ppt
- Aoto CAD 2010 应用教程 作者 蔡伟美 电子课件 课题1.ppt
- Aoto CAD 2010 应用教程 作者 蔡伟美 电子课件 课题2.ppt
- Aoto CAD 2010 应用教程 作者 蔡伟美 电子课件 课题4.ppt
- Aoto CAD 2010 应用教程 作者 蔡伟美 电子课件 课题5.ppt
- Aoto CAD 2010 应用教程 作者 蔡伟美 电子课件 课题7.ppt
- ARM嵌入式系统教程 作者 张石 第1章.ppt
- ARM嵌入式系统教程 作者 张石 第2章.ppt
- C 语言程序设计实用教程 作者 李庆亮 第6章 函 数.ppt
- C# 2008程序设计基础案例教程 作者 江南 09.ppt
- C# 2008程序设计基础案例教程 作者 江南 10.ppt
- C# 2008程序设计基础案例教程 作者 江南 12.ppt
- C# 2008程序设计基础案例教程 作者 江南 第五章 用户界面设计.ppt
- C# 2008程序设计基础案例教程 作者 江南 第一章 概述.ppt
- C# 2008程序设计基础案例教程 作者 江南_ 09.ppt
- C# 2008程序设计基础案例教程 作者 江南_ 10.ppt
- C# 2008程序设计基础案例教程 作者 江南_ 12.ppt
- C# 2008程序设计基础案例教程 作者 江南_ 第八章 数据流和文件.ppt
原创力文档


文档评论(0)