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

2023-08-07
| 17页
| 172人阅读
| 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.2 函数指针变量 在C语言中规定,一个函数总是占用一段连续的内存区, 而函数名就是该函数所占内存区的首地址。 如果把函数的首地址赋予一个指针变量。则可以通过该指针变量调用这个函数。 这种指向函数的指针变量被称为“函数指针变量”。 函数指针变量定义的一般形式为: 类型说明符 (*指针变量名)(); 例如: int (*pf)(); pf是一个指向某函数的指针变量,该函数的返回值是整型。 大学C/C++语言程序设计程序设计 第8章 指针 【例8.25】 输出2个数中较大值 #include <stdio.h> int max(int a,int b) { if(a>b)return a; else return b; } main() { int x,y,z; scanf("%d%d",&x,&y); z=max(x,y); printf("max=%d",z); } int(*pmax)(int,int); pmax=max; z=(*pmax)(x,y); 先定义函数指针变量, int (*pmax)(int,int); pmax为函数指针变量。 2. 把被调函数的首地址(函数名)赋予pmax。 3. 用函数指针变量形式调用函数,一般形式为: (*指针变量名) (实参表) 如何利用函数指针来调用max函数呢? 大学C/C++语言程序设计程序设计 第8章 指针 【例8.25】 输出2个数中较大值 int max(int a,int b) { if(a>b)return a; else return b; } main() {int x,y,z; scanf("%d%d",&x,&y); z=max(x,y); printf("maxmum=%d",z); } 如果要求函数max返回较大值的地址呢? 大学C/C++语言程序设计程序设计 第8章 指针 【例8.28】 写一个函数,求两个int型变量中居于较大值的变量的地址。 #include <stdio.h> int *max(int *x,int *y) { if(*x>*y) return x; else return y; } main() { int a,b,*p; scanf("%d%d",&a,&b); p=max(&a,&b); printf(" max:%d",*p); } 一个函数的返回值是一个指针(即地址),则该函数称为指针型函数。 大学C/C++语言程序设计程序设计 第8章 指针 注意函数指针变量和指针型函数这两者在写法和意义上的区别。 int (*p)()是一个变量说明,说明p 是一个指向函数的指针变量,该函数的返回值是整型量。。 int *p() 是函数说明,说明p是一个函数,其返回值是一个指向整型量的指针。 如: int (*p)() int *p( ) 大学C/C++语言程序设计程序设计 第8章 指针 指 针 小 结 1.指针是变量、数组、字符串、函数等在内存的地址。 2.指针变量按定义格式大致可分为五种: 指针变量、指针数组、指向一维数组的指针变量、返回指针值的函数、函数指针变量。 3.指针变量可以指向变量,也可以指向数组,也可以指向字符串。 大学C/C++语

资源预览图

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