- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机软件及应用]第8章 指针
本章导读 目的与要求 指针的基本概念 指针的概念 指针的概念 指针的概念 指针变量的定义与初始化 指针变量的定义与初始化 指针变量的定义与初始化 为什么要为指针变量定义类型: 由于不同的数据有不同的数据类型,如 char仅占一个字节、int 占两个字节、float型占四个字节,而内存又是以字节为单位进行地址编号,因而对char型,只要地址数加减1,取出里面的数据就是char型的完整数据。对int型就不同了,要取出其中的数据需2字节,就不能对地址进行简单的加减1了。怎样取出一个完整的int型数据或float型数据呢?如果能够将指针变量也定义为具有同样的数据类型,那么就“指针加1或减1”运算,如果指针指向一个整型变量的,那么“加1或减1”意味着移动两个字节 的位置,实型则意味着移动四个位置,即让指针移动相应基类型对应的字节数。 指针的运算及引用 指针的运算及引用 (2) 指针变量的引用 知道了指针变量的作用以及相关的运算符以后,我们就可以引用指针变量了 取地址运算:如: int *p , i=3, j=5; p=i; /*让p其指向变量i */ 对指针变量施加*运算,则代表取指针变量所指向的单元的内容。这里,*p与变量i是等价的。 区分:*运算符在不同场合的作用,编译器能够根据上下文环境判别*的作用。int a,b,c; int * p; (*表示定义指针) p = a; *p = 100; (*表示指针运算符) c = a * b; (*表示乘法运算符) 例、分析下面程序的运行结果 main() { int *p1, *p2, a, b; scanf(%d, %d, a, b ); p1=a; p2=b; printf(%d , %d \n , a,b); printf(%d , %d \n, , *p1,*p2); } 【例8-1】 【例8-2】 【例8-2】 【例8-2】 指针的算术运算和关系运算 (2) 指针的关系运算 指针的关系运算即比较指针(地址)大小的运算。两个指针变量相等即指向同一存储单元。如: if(pq) printf(p在内存中q的低端。\n“); if(p==q) printf(p与q指向同一存储单元。\n“); if(p==\0‘)printf(p指向 NULL。\n“); 指针作为函数参数 【分析】 Swap(int *p1,int *p2) {int temp; temp=*p1; *p1=*p2; *p2=temp; } Main() {int a=5,b=9; int *pointer_1,*pointer_2; pointer_1=a;pointer_2=b; if(ab) swap(pointer_1,pointer_2); printf(“\n%d,%d\n”,a,b); } Swap函数的两个形参p1,p2是指针变量,而main函数中pointer_1和pointer_2也是指针变量,在函数调用时,实参变量的值传递给形参变量,采取的依然是“值传递”方式。因此虚实结合后形参p1和实参pointer_1都指向变量a,而形参p2和pointer_2都指向变量b。注意:本例交换的是a和b的值,而p1和p2的值不变。 分析下面程序能实现两个数据的交换吗? swap(int *p1,int *p2) {int *p; p=p1; p1=p2; p2=p; } main( ) {int a,b; int *pointer_1,*pointer_2; scanf(%d,%d,a,b); pointer_1=a; pointer_2=b; if(ab) swap(pointer_1,pointer_2); printf(%d,%d\n,*pointer_1,*pointer_2); } 【例8-4】分析以下程序的运行结果 8.1.5多级指针的概念 利用指针变量存放普通变量的地址可以访问普通变量,并且指针变量的存储单元也有地址,那么存放指针变量地址的变量是什么变量呢?由于存放的是地址,显然也是指针变量。由于存放的是指针变量的地址,因此是指向指针的指针变量,或称二级指针变量 多级指针的概念 注 意 【例8-5】 指针与数组 【例8-6】 一维数组元素的地址表示法 一维数组元素的地址表示法 一维数组元素的地址表示法 【例8-7】
您可能关注的文档
- [计算机软件及应用]章节打印.doc
- [计算机软件及应用]程序设计基础第9章.ppt
- [计算机软件及应用]第01章 微型计算机基础知识.ppt
- [计算机软件及应用]第03章 MCS-51单片机指令系统new.ppt
- [计算机软件及应用]第04讲 使用DTD声明XML属性.ppt
- [计算机软件及应用]第10章WEB服务器配置与使用.ppt
- [计算机软件及应用]第11章 数据库设计基础.ppt
- [计算机软件及应用]第11章网络管理与维护.ppt
- [计算机软件及应用]第12章 数据库编程.ppt
- [计算机软件及应用]第1章 绘图基础.ppt
- 5G赋能医疗2025年VR远程手术协同技术创新驱动.docx
- 服装辅料行业专业化发展现状与2025年市场增长趋势分析报告.docx
- 2025年时间银行养老互助模式在老年人心理健康服务中的应用报告.docx
- 2025版·微专题小练习·数学专练48.pdf
- 社区养老服务信息化建设及2025年产业应用趋势报告.docx
- 2025-2026学年小学英语二年级上册(2024)外研版(新交际)(罗少茜主编)(2024)教学设计合集.docx
- 2025-2026学年初中道德与法治七年级(全一册)统编版(五四学制)教学设计合集.docx
- 智能语音翻译实时转写技术2025年在企业沟通协作中的创新应用.docx
- 2025至2030电动垂直起降飞行器行业产销规模及运行状况监测分析报告.docx
- 物联网驱动2025年新能源电动冷藏运输车辆行业转型升级研究.docx
最近下载
- 配合协调与服务承诺.docx VIP
- 14《称空气》课件 科学三年级上册(苏教版2025).pptx
- 晚期消化道肿瘤临床规范诊疗新进展题库答案-2025年华医网继续教育.docx VIP
- 工程协调配合措施及承诺.docx VIP
- 医院信息科笔试、面试题(附答案).docx VIP
- 施工协调配合的承诺与措施.pdf VIP
- 医院信息科计算机考试精彩试题(附答案).docx
- 2025年最新人教版七年级(初一)数学上册教学计划及进度表(新课标,新教材).docx
- 2025至2030地毯和室内装饰清洁服务行业项目调研及市场前景预测评估报告.docx
- 2025重庆南岸区招聘社区工作者后备库人选300人笔试备考题库及答案解析.docx VIP
文档评论(0)