C++:函数指针

2021-02-19  本文已影响0人  是枯木呀

函数指针:是一个特殊的指针,用于指向函数。
和通过函数名调用一样,函数指针给我们提供了另一种调用函数的可能。函数指针具备变量的特性,可以作为参数传递,可以函数返回。

1. 普通指针的写法

int *p;  //指针p,指向int类型的变量

2. 函数指针的写法

第一步:准备一个函数func()。

void func(int a){
    cout << "a = " << a << endl;  //输出a的值
}

第二步: 定义一个函数指针p

# 定义一个指针p,指向函数func()。与普通指针不同的是,函数指针p有参数列表和返回值
void (*p)(int a) =  func;

第三步:调用函数指针p

p(10);   //参数a的值是10,返回值为void

3. 函数指针的完整程序

(该程序在使用到命名空间std时加上了std::,没有在程序开通引入命名空间std)

#include <stdio.h>
#include <iostream>

//定义函数func()
void  func(int a){
    std::cout << "a = " << a <<std::endl;
}

void main(){
    void(*p)(int a) = func;  //定义函数指针p,指向函数func()
    p(10);  //调用函数指针p,参数为10
}

输出结果为:

a = 10
上一篇 下一篇

猜你喜欢

热点阅读