- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 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], 的值依次是( )。6. 设有说明int s[2]={0,1},*p=s; 则下列错误的C语句是( )。7. 若有说明:i
您可能关注的文档
- AutoCAD2012建筑绘图及三维建模 教学课件 作者 高丽燕、莫正波 工业产品CAD技能三级试题及其评分标准 2010 修改5.doc
- AutoCAD2012建筑绘图及三维建模 教学课件 作者 高丽燕、莫正波1 8章书稿 二次修改 第3章 二维绘图命令与精确绘图辅助功能 修改.doc
- AutoCAD2012建筑绘图及三维建模 教学课件 作者 高丽燕、莫正波1 8章书稿 二次修改 第4章二维图形编辑命令 修改.doc
- AutoCAD2012建筑绘图及三维建模 教学课件 作者 高丽燕、莫正波1 8章书稿 二次修改 第6章 文字表格与尺寸标注 修改.doc
- AutoCAD2012建筑绘图及三维建模 教学课件 作者 高丽燕、莫正波1 8章书稿 二次修改 第7章图块、外部参照与设计中心 修改.doc
- AutoCAD2012建筑绘图及三维建模 教学课件 作者 高丽燕、莫正波第三期答案及评分标准 第三期_工业产品CAD技能二级_参考评分标准.doc
- AutoCAD2012中文版实例教程 第2版 教案 作者 杨静 余妹兰 28848 AutoCAD 2012中文版实例教程(第2版) 教学教案.doc
- AutoCAD2013实用教程 教学课件 作者 郝坤孝吕安吉季阳萍 编著 第3章 二维图形的绘制.ppt
- AutoCAD2013实用教程 教学课件 作者 郝坤孝吕安吉季阳萍 编著 第4章 二维图形的编辑.ppt
- AutoCAD2013实用教程 教学课件 作者 郝坤孝吕安吉季阳萍 编著 第6章 零件图及装配图.ppt
- 制动系统的特点项目一58课件.pptx
- 直接工程费价外运杂费填料费铁路工程施工组织与概预算78课件.pptx
- 主备用控制中心的切换LCF300型25课件.pptx
- 智能交通系统的相关技术任务三车辆自动驾驶技术王怡安徽交通6.pptx
- 智能交通监控系统任务三城市交通诱导系统诱导系统的组成王怡安.pptx
- 智能交通监控系统任务二城市交通监控系统王怡安徽交通67课件.pptx
- 直升机的特点和分类空气动力学基础与飞行原理86课件.ppt
- 直升机的飞行性能空气动力学基础与飞行原理67课件.ppt
- 职业形象塑造3职业教育国际邮轮乘务管理专业教学化妆与形象设.pptx
- 轴向拉压杆件的线应变和胡克定律张亚琴河北交通52课件.pptx
最近下载
- 混凝土结构设计原理-国家开放大学电大学习网形考作业题目答案.pdf VIP
- 标准图集-福建省绿色搅拌站建设示范图集03.pdf VIP
- 北京市丰台区2023-2024学年七年级下学期期末考试语文试题(含解析).pdf VIP
- 可用于多型号螺钉的螺纹胶上胶工装.pdf VIP
- (高清版)B/T 17639-2023 土工合成材料 长丝纺粘针刺非织造土工布.pdf VIP
- 调色师:达芬奇视频剪辑调色从入门到精通(上篇,共上中下3篇).pptx VIP
- 提高手术室内timeout执行规范率.ppt
- 最新国家开放大学电大本科混凝土结构设计原理期末题库及答案.pdf VIP
- 2024年12月英语六级真题(第1套).pdf VIP
- 地理 云贵高原 .ppt VIP
文档评论(0)