- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 指针 7.1 指针的概念 7.2 指针变量 7.3 指针与函数 7.4 指针与数组 7.5 二级指针 7.6 动态存储管理 编程实例 7.1 指针的概念 1.数据在内存中的存储方式: 按数据类型给在内存为其分配一定数量的存储单元(字节)。 4.变量的“直接访问”方式: 按变量的地址(即变量名)存取变量值的方式。(见下图) 内存用户数据区示意图: 1.算术运算 例如: int *p, i; char *q , c; p=i; q=c; 例如:右图1 pq为假。 再例:由下列图(a)形式, 思考: 1.若已执行了“p = a”,则: “*p”的含意是什么? ------指向指针变量的指针. 定义形式: 类型 **变量名; 例如: int i,*p,**q; i=30; p=i; q=p; 7.3 指针与函数 7.3.1 指针做函数参数 7.3.2 指针函数(*) 7.3.3 指向函数的指针(*) main( ) { int a,b; int *p1,*p2; scanf(%d%d, a, b); p1 = a; p2 = b; if (a b) swap(p1, p2); printf(\n%d %d\n, a, b); } [例]:交换两数 swap(int *pa, int *pb) { int p; p = *pa; *pa = *pb; *pb = p; } main( ) { int a,b; scanf(%d,%d,a,b); if (ab) swap(a, b); printf(\n%d,%d\n,a,b); } void main( ) { int a,b; int *p1,*p2; scanf(%d,%d, a, b); p1 = a; p2 = b; if (a b) swap(p1, p2); printf(\n%d,%d\n, a, b); } 7.3.2 指针函数 1. 一个函数可以带回整型值、实型值、字符型值,也可以带回指针类型的数据,即地址。 返回值是指针类型的函数,称为指针函数。 3.说明 对于定义: int *a(int x, float y) {……} a是函数名,调用它后能得到一个指向整型数据的指针(地址)。 x, y是函数a的形参。 这个函数前面有一个*,表示此函数是指针类型函数(函数值是指针)。 int *max( ); main( ) { int a, b,*p; scanf(“%d,%d”,a,b); p = max(a, b); printf(“max=%d”, *p); } 7.3.3 指向函数的指针 1.函数名代表函数的入口地址 (如右图) int max(int x, int y) { int z; if (x y) z = x; else z=y; return (z); } int max( ); main( ) { int (*p) ( ); /*定义指针变量*/ int a, b, c; p = max; /*指针变量赋值*/ scanf(%d%d, a, b); c = (*p)(a, b); /*调用函数*/ printf(a=%d,b=%d,max=%d, a, b, c); } 7.4 指针与数组 7.4.1 指向数组元素的指针 7.4.2 指向一维数组的指针 7.4.3 指向二维数组的指针(*) 7.4.4 指针数组(*) 1.指向数组元素的指针变量的定义方式: 类型 *指针变量名; 例如: int *p; c规定: p=p+1:新p指向数组的下一元素。 p=p+1:意味着新p比原 p的地址值多d个字节(d为一个数组元素所占的字节数)。 使用指向数组的指针变量来引用数组元素。 例如有定义:int a[10],*p; p=a; p++合法;但a++不合法(a是数组名,代表数组首地址,是常数地址。)
您可能关注的文档
最近下载
- 2024年中国中式养生水行业发展趋势洞察报告.pdf VIP
- 湘科版科学五年级上册全册教学设计教案.pdf
- 大家的日语 1-9课测试试卷1.doc VIP
- 政府采购评审专家考试题库含答案.docx VIP
- JJF 1593-2016 国家检定校准 规范.docx VIP
- Service invoice 服务发票模板.doc VIP
- 浅谈危险化学品企业安全管理当中存在的问题与建议对策.docx VIP
- 甘肃省兰州市第五十八中学教育集团2024-2025学年高三上学期建档考试物理试题(无答案).docx VIP
- 幼儿园小班妈妈在哪儿课件..pptx VIP
- 建筑工程冬季施工防冻保温实施方案.doc VIP
文档评论(0)