指针.ppt.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
指针.ppt

C语言程序设计 SWPU * 1、指针做函数参数 指针与 函数 2、指针函数 3、指向函数的指针 7.3 指针与函数 C语言程序设计 SWPU * 例题5.3 有如下程序,分析运行结果: void swap(int x,int y) { int t; t=x; x=y; y=t; printf(x=%d, y=%d\n,x,y); } void main() { int a=10,b=20; swap(a,b); printf(a=%d, b=%d\n,a,b); } 形参和实参变量的数据传递是“值传递”,即单向传递,只能由实参→形参; 7.3 指针与函数 有没有方法使函数中改变的值能被主调函数所用? 结论!! 把要改变值的变量 做为参数,形参值 的改变不能影响到实参 C语言程序设计 SWPU * [例]: 交换两数 swap( int *pa,int *pb ) { int p; p=*pa; *pa=*pb; *pb=p; } 从键盘输入:5,10 输出: 10,5 跟我来! 一.指针变量作为函数参数 7.3 指针与函数 main() {int a,b; int *p1,*p2; scanf(%d,%d,a,b); p1=a; p2=b; if (ab) swap(p1,p2); printf(\n%d,%d\n,a,b); } C语言程序设计 SWPU * a 5 9 p1 p2 b a b (初始) 调用swap函数初始时 9 b p2 b b pb 5 a a pa p1 a 调用swap函数结束时 9 a pa a a p1 5 b pb b b p2 swap( int *pa,int *pb ) { int p; p=*pa; *pa=*pb; *pb=p; } 7.3.1 指针变量做为函数参数 C语言程序设计 SWPU * main() { int a,b; void swap(int *pa,int *pb); scanf(%d,%d,a,b); if (ab) swap(a,b); printf(\n%d,%d\n,a,b); } void swap(int *pa, int *pb) { int p; p=*pa; *pa=*pb; *pb=p; } 跟我来! [又例:功能同上例] 7.3.1 指针变量做为函数参数 C语言程序设计 SWPU * main() {int a,b;int *p1,*p2; void swap(int *pa,int *pb); scanf(%d,%d,a,b); p1=a;p2=b; if (ab) swap(p1,p2); printf(\n%d,%d\n,a,b); } void swap(int *pa,int *pb) { int *p; p=pa; pa=pb; pb=p; } 跟我来! [再例:结果会如何?] 7.3.1 指针变量做为函数参数 C语言程序设计 SWPU * 调用swap函数初始时 10 b p2 b b pb 5 a a pa p1 a 调用swap函数结束时 10 b p2 b a pb 5 a b pa p1 a void swap(int *pa,int*pb ) { int *p; p=pa; pa=pb; b=p; } 7.3.1 指针变量做为函数参数 C语言程序设计 SWPU * 有没有方法使函数中改变的值能被主调函数所用? 结论: 用指针变量做为函数参数,函数执行过程中,指针变量所 指向的变量值发生变化,函数调用结束后,这些变量的变 化依然保留下来! 若想通过函数调用得到n个要改变的值,可以: 在主调函数中设n个变量,用n个指针指向它们; 用指针变量做实参,将n个变量的地址传递给所调用 的函数的形参; 通过形参指针变量,改变该n个变量的值; 主调函数中就可以得到这些改变了值的变量 7.3.1 指针变量做为函数参数 C语言程序设计 SWPU * 1. 一个函数可以带回整型值、实型值、字符型值,也可以带回指针类型的数据,即地址。 返回值是指针类型的函数,称为指针函数。 2. 一般定义形式为: 类型标识符 *函数名(形参表); 例如: int *a (int x,float y)

文档评论(0)

cangpu2515 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档