C++函数指针实例详解(篇一)

来源:互联网 发布:js数组对象去重复 编辑:程序博客网 时间:2024/06/07 09:02
#include <iostream>using namespace std ;const double* call_001(const double ar[], int n) ;const double* call_002(const double [], int) ;const double* call_003(const double *, int) ;int main(int argc, char *argv[]){    const double *rst = NULL ;      // 作为返回值使用    double num[10] = { 0.00, 1.11, 2.22, 3.33, 4.44, 5.55, 6.66, 7.77, 8.88, 9.99 } ;     const double* (*fp)(const double *, int) = call_001 ;   // 定义函数指针 fp 并初始化为 call_001    // 利用函数指针调用 call_001, 这是一种调用方式,即 fp(num, 1) ;    rst = fp(num, 1) ;    cout << *rst << endl ;         fp = call_002 ;                 // 改变函数指针的值    // 利用函数指针调用 call_002, 这是另一种调用方式,即 (*fp)(num, 1) ;    // 建议使用这种,虽然比较难看,但是意思表达的很明确(别人看到后会知道这是个函数指针调用)    rst = (*fp)(num, 2) ;    cout << *rst << endl ;         fp = call_003 ;    cout << *(*fp)(num, 3) << endl ;        return 0 ; }const double* call_001(const double ar[], int n){    return &ar[n] ;}const double* call_002(const double ar[], int n){    return ar+n ;}const double* call_003(const double *ar, int n){    return ar+n ;}
          该示例代码是最简单的函数指针使用示例,这也是初学C语言编程时应该掌握的内容。本示例代码也是说明了函数的声明形式,在代码中的三种函数声明方式其实都是一个作用。
0 0
原创粉丝点击