《程序员面试宝典》C/C++函数指针和指针函数

8人阅读 评论(0) 收藏 举报
分类:

4.8.2函数指针和指针函数
(1)指针函数
即是带指针的函数,本质上是函数,返回类型是指针。形式:类型说明符 *函数名(形参表),下例中,指针函数的返回值是一个地址,使用的时候是*GetNum(num)。

    #include <iostream>  
    using namespace std;  
    int *GetNum(int x); //指针函数声明形式  
    void main(void)  
    {  
        cout<<"===============start================"<<endl;  
        int num;  
        cout<<"Please enter the number between 0 and 6: ";  
        cin>>num;  
        cout<<"result is:"<<*GetNum(num)<<endl;    //输出返回地址块中的值  
    }  

    int *GetNum(int x) {  
        static int num[]={0,1,2,3,4,5,6};  
        return &num[x];  //返回一个地址  
    }  

(2)函数指针
即是指向函数的指针变量,本身是一个指针变量,表示一个指针,其指向一个函数。形式:类型类型说明符 (*指针变量名)(形参表),下例中直接将函数名赋值给指针变量名。

    #include <iostream>  
    using namespace std;  
    int max(int a, int b) {  
        return a>b?a:b;  
    }  
    void main(void)  
    {  
        cout<<"===========start==========="<<endl;  
        int (*func)(int,int);       //定义一个指向该函数形式的指针变量  
        func=max;  
        int a,b;  
        cout<<"Please enter two numbers:";  
        cin>>a>>b;  
        int result=(*func)(a,b);//运用指针变量调用函数,也可写成func(a,b)  
        cout<<"max="<<result<<endl;  
    } 

重点(借鉴别人):两者主要区别,一个是函数(指针函数),一个是指针变量(函数指针),当你真正理解这句话的时候就可以完全理解两者的区别啦。

查看评论

c++程序员面试宝典

静态存储区 static静态变量 全局变量 栈 局部变量 堆 动态分配的 栈堆:循环的迭代用中 数据量大 则溢出 239 static作用:静态变量的生存周期和作用域...
  • cyuyanchenxi
  • cyuyanchenxi
  • 2017-03-20 23:28:29
  • 789

《C与C++程序员面试宝典》电子书

  • 2018年01月30日 16:10
  • 9.72MB
  • 下载

C\C++程序员面试宝典最新版。pdf

  • 2017年11月10日 10:44
  • 4.42MB
  • 下载

程序员面试宝典(C/C++版,pdf扫描)

  • 2009年12月22日 12:59
  • 6.49MB
  • 下载

C_C++程序员面试宝典 文字版 非扫描

  • 2016年02月18日 15:22
  • 8.96MB
  • 下载

程序员面试宝典 7 - 指针与引用

指针基本问题 指针和引用的差别  ★相同点:       都是地址的概念;        指针指向一块内存,它的内容是所指内存的地址;引用是某块内存的别名。   ★ 区别:  指针是一个实...
  • yuhan_9204
  • yuhan_9204
  • 2015-06-06 17:34:08
  • 436

C/C++程序员面试宝典-1

第2部分 C/C++基础知识 1. C++中的基本数据类型: 2. C++中的整型: 3. C++中的常见常量 常量按照数据类型的不同分为整型常量,浮点型常量,字符型常量,还有...
  • benpaobagzb
  • benpaobagzb
  • 2015-09-14 16:43:02
  • 731

C/C++指针函数和函数指针

一、指针函数  当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中。 格式: 类型说明符 * 函数名(参数) 当然了,由于返回的是一个地址,所以类型说...
  • finish_dream
  • finish_dream
  • 2016-03-23 21:17:20
  • 1231

面试题之指针函数与函数指针的区别

1.指针函数 先看下面的函数声明,注意,此函数有返回值,返回值为int *,即返回值是指针类型的。 [cpp] view plain copy ...
  • sum_TW
  • sum_TW
  • 2016-12-09 16:26:00
  • 3479

C、C++程序员面试宝典-梁镇宇_高清版[带完整书签目录]

  • 2015年11月22日 14:09
  • 14.58MB
  • 下载
    个人资料
    持之以恒
    等级:
    访问量: 3万+
    积分: 857
    排名: 6万+
    最新评论