- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第章指针
目标 理解指针的意义 掌握指针变量和指针运算符的使用 掌握指针与函数的关系 第8章 指针 8.1 变量的地址和指针 8.2 指针变量的定义和指针变量的基类型 8.3 给指针变量赋值 8.4 对指针变量的操作 8.5 函数之间地址值的传递 第8章 指针 C程序设计中使用指针可以: 使程序简洁、紧凑、高效 有效地表示复杂的数据结构 动态分配内存 得到多于一个的函数返回值 C数据类型 8.1 变量的地址和指针P92 1.数据在内存中的存储方式: 按数据类型在内存为其分配一定数量的存储单元(字节)。 8.1 变量的地址和指针P92 4.直接访问与间接访问 直接访问:按变量地址存取变量值 间接访问:通过存放变量地址的变量去访问变量 第8章 指针 8.1 变量的地址和指针 8.2 指针变量的定义和指针变量的基类型 8.3 给指针变量赋值 8.4 对指针变量的操作 8.5 函数之间地址值的传递 第8章 指针 8.1 变量的地址和指针 8.2 指针变量的定义和指针变量的基类型 8.3 给指针变量赋值 8.4 对指针变量的操作 8.5 函数之间地址值的传递 注意:指针变量中只能存放地址,不能将一个非地址类型的数据(如常数等)赋给一个指针变量,如: 第8章 指针 8.1 变量的地址和指针 8.2 指针变量的定义和指针变量的基类型 8.3 给指针变量赋值 8.4 对指针变量的操作 8.5 函数之间地址值的传递 所以: 1. *i 等价于*ptr等价于变量i. 2.当一个指针变量 p指向某变量 i时,则表达式*p与变量 i等价。例如: 指针变量的值是可以改变的;通过* p方式存取它所指向变量的值是以间接存取的形式进行的. 说明: 1、在定义指针变量时,还未规定它指向哪一个变量,此时不能用*运算符访问指针。只有在程序中用赋值语句具体规定后,才能用*运算符访问所指向的变量。 2、区分:*运算符在不同场合的作用,编译器能够根据上下文环境判别*的作用。 int a,b,c;int * p; (*表示定义指针)p = a; *p = 100; (*表示指针运算符)c = a * b; (*表示乘法运算符) [例] 输入a和b两个整数,按先大后小的顺序输出a和b。 main( ) { int *p1, *p2, *p, a, b; scanf (%d,%d,a,b); p1 = a; p2 = b; if (a b) { p = p1; p1 = p2; p2 = p; } printf(a=%d,b=%d\n,a,b); printf(max=%d,min=%d\n, *p1, *p2);} 程序说明: [例8.1] 通过指针运算选出值小的那个数。 main( ) { int a, b ,min,*pa, *pb, *pmin,; pa = a; pb = b; pmin=min; scanf(%d%d, pa, pb); printf(a=%d,b=%d\n,a,b); *pmin=*pa; if (*pa *pb) *pmin=*pb; printf(min=%d\n, min);}? 例: short int var, *ptr_var; ptr_var = var; ptr_var ++; 假定var存储在地址1000中,因为短整数的长度是 2 个字节,ptr_var的值将是 8.4.3指针比较 前提:两个指针都指向相同类型的变量 假设ptr_a和ptr_b分别指向a和b 第8章 指针 8.1 变量的地址和指针 8.2 指针变量的定义和指针变量的基类型 8.3 给指针变量赋值 8.4 对指针变量的操作 8.5 函数之间地址值的传递 8.5.1 形参为指针变量时实参和形参之间 的数据传递 8.5.2 通过传送地址值在被调用函数中直 接改变调用函数中的变量的值 8.5.3 函数返回地址值 8.5.2 通过传送地址值在被调用函数中直接改变调用函数中的变量的值 例:8.3 #inclue stdio.h void swap( int *,int *); main( ) { int x=30,y=20; printf(“(1)x=%d y=%d\n”,x,y); swap( x , y); printf(“(4)x=%d y=%d\n”,x,y); } 续 void swap (int *a,int *b) { int t; printf(“(2)a=%d b=%d\n”,*a,*
您可能关注的文档
- 第六章常用书信写作申请书倡议书.ppt
- 第六章薪酬制度设计及管理上.ppt
- 第六章第四节企业劳动争议处理.ppt
- 第十一讲培训与开发.ppt
- 第四章三节一.ppt
- 第六章旅游开发保护案例.ppt
- 第周信函文书.ppt
- 第四章+数据库安全性第五章+数据库完整性.ppt
- 第四章公务文书四请示批复函.ppt
- 第四讲入团的条件团员的权利和义务.ppt
- 多点监督与特征融合校准:目标检测算法的创新与突破.docx
- 南宁市门诊HIV_AIDS患者抑郁状况剖析与影响因素探究.docx
- 医疗过失犯罪中客观归责理论的精准适用与深度解析.docx
- 南宁市低碳经济发展研究.docx
- 清解瘀毒胶囊对脑出血大鼠血红蛋白毒性作用及机制探究.docx
- 内蒙古赤峰市元宝山区农村小学教师培训:现状、问题与突破路径.docx
- 泉州开发区国有资产投资经营有限公司发展战略研究:基于区域经济与市场环境的分析.docx
- 能源利用效率与经济增长方式的深度耦合及中国战略抉择.docx
- 分布式信号波达方向 - 时延联合估计算法的深度剖析与创新探索.docx
- 新媒体环境下大学校园精神传播的创新变革.docx
最近下载
- AI在小学数学兴趣培养中的应用教学研究课题报告.docx
- 河北光伏项目安装施工方案.docx VIP
- 新学期第一次中层领导会议上,校长讲话:此次会议就7个主要议题展开讨论....docx VIP
- 2025福建新华发行(集团)有限责任公司三明分公司会计岗位招聘笔试备考试题及答案解析.docx VIP
- 2025福建新华发行(集团)有限责任公司南平地区会计岗位招聘笔试备考题库及答案解析.docx VIP
- 《复合材料的特性与应用》课件.ppt
- 2025内蒙古交通投资(集团)有限责任公司所属天骄航空有限公司招聘25人笔试历年参考题库附带答案详解.docx
- 过敏性休克的应急预案演练脚本.pdf VIP
- 儿童慢性鼻窦炎的诊断和治疗中国专家共识(杭州2024).pptx VIP
- 管道吹扫记录.docx VIP
文档评论(0)