指针函数与函数指针

来源:互联网 发布:mac excel怎么加 编辑:程序博客网 时间:2024/05/29 15:11
  1. 概述
  2. 细节描述
  3. 总结

一.概述
I.指针函数:本质为函数,其返回值为一个指针指向的地址
II.函数指针:本质为指针,指向函数的入口地址
二.细节描述
2.1指针函数:
①本质:函数

int *f(x,y);//指针函数//应用举例int *pointer=f(x,y);//pointer接收指针函数返回的地址

②代码样例:

#include<iostream>using namespace std;//1.指针函数int *max(int x, int y){    //for some functions    int *p = NULL;    if (x >= y)        p = &x;    else        p = &y;    return p;}int main(){    int *maxAdd = max(3, 6);    printf("%p", maxAdd);    return 0;}

调试结果如图:
这里写图片描述
2.2函数指针
①本质:指针

int func(int x,int y);//函数声明int (*p)(int x,int y)=func(x,y);//int (*p)(int x,int y)为函数指针//应用举例(*p)(x,y);//调用相关函数,进行与func相同的功能实现

②代码样例:

#include<iostream>using namespace std;int max(int a, int b){    return a > b ? a : b;}int main(){    int (*p)(int a, int b) = &max;    int maxs = (*p)(3, 5);//常规写法,通过函数指针进行相关函数的调用;并非是通过函数名进行的调用!    cout << maxs << endl;    return 0;}

三.总结
I.函数指针与指针函数、指针数组与数组指针是基础知识,需多体会;II.让我们一同努力,明天会更好!

1 0
原创粉丝点击