指针 8.6 指针与函数《C/C++语言程序设计基础》同步教学课件

2023-08-07
| 15页
| 192人阅读
| 1人下载
精品

内容正文:

第8章指针 8.1指针的基本概念 8.2指针变量的定义、初始化、引用 8.3指针运算 8.4指针与数组 8.6指针与函数 8.5指针与字符串 8.7指针数组 大学C/C++语言程序设计程序设计 第8章 指针 1-12章幻灯片45分钟 13-27章45分钟 函数调用时,实参与形参之间参数传递方式分为哪几种? 8.6 指针与函数 单向值传递 双向地址传递 大学C/C++语言程序设计程序设计 第8章 指针 指针变量作为函数参数——双向地址传递 特点:指针变量作为函数的参数,实参与形参之间是地址传递,即把实参指针赋给形参。 此时,实参与形参之间传递的是调用函数中某个变量(或全局变量)的地址。实参与形参指向同一个变量,因此可在被调函数中通过形参指针间接访问调用函数中的变量。 大学C/C++语言程序设计程序设计 第8章 指针 ? int *p; 如果p作为函数fun参数之一,另一参数可以是什么数据类型呢? 1、某个整型变量的地址 如:int a ; fun(&a) 2、一维数组 如:int s [4]; fun(s) 3 一级指针 如:int *q; fun(q) 一级指针作为函数参数 大学C/C++语言程序设计程序设计 第8章 指针 void swap(int *p1,int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; } void main() { int a=6,b=10; printf("a=%d,b=%d ",a,b); swap(&a,&b); printf("a=%d,b=%d ",a,b); } 指针函数例1: 编写函数,利用指针交换2个整数的值. 形参为指针 实参为变量地址 大学C/C++语言程序设计程序设计 第8章 指针 void swap(int *p1,int *p2) { int temp; temp=*p1; *p1=*p2; *p2=temp; } void main() { int a=6,b=10; printf("a=%d,b=%d ",a,b); swap(&a,&b); printf("a=%d,b=%d ",a,b); } 6 10 a: b: 调用前: 调用结束: 10 6 a: b: 通过形参指针p1,p2间接访问main函数中的变量a和b,执行swap函数后使*p1和*p2的值交换,也就是a和b的值互换; &a 6 p1 a &b 10 p2 b temp 调用开始 &a 10 p1 a &b 6 p2 b 调用中 6 temp 运行结果: a=6,b=10 a=10,b=6 大学C/C++语言程序设计程序设计 第8章 指针 void swap(int *p1,int *p2) { int *p; p=p1; p1=p2; p2=p; } void main() { int a=6,b=10; printf("a=%d,b=%d ",a,b); printf("a=%d,b=%d ",a,b); } a=6,b=10 a=6,b=10 进入swap函数调用时,形参p1指向a,p2指向b;交换后p1指向b,p2指向a。调用后返回,a和b的值没有变化。 所以要改变a,b的值,要使用*p1,*p2的形式 分析下列程序: 大学C/C++语言程序设计程序设计 第8章 指针

资源预览图

指针 8.6 指针与函数《C/C++语言程序设计基础》同步教学课件
1
指针 8.6 指针与函数《C/C++语言程序设计基础》同步教学课件
2
指针 8.6 指针与函数《C/C++语言程序设计基础》同步教学课件
3
指针 8.6 指针与函数《C/C++语言程序设计基础》同步教学课件
4
指针 8.6 指针与函数《C/C++语言程序设计基础》同步教学课件
5
指针 8.6 指针与函数《C/C++语言程序设计基础》同步教学课件
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。