函数指针和指针函数

 函数指针和指针函数是两个在 C 和 C++ 编程中常见的概念,它们在语法和用途上有所不同。下面将分别解释这两个概念。

### 函数指针

函数指针是一个指向函数的指针变量。它存储了函数的地址,可以用来动态调用不同的函数。函数指针的声明方式取决于它所指向的函数的类型(包括返回类型、参数类型和数量)。函数指针的主要作用是实现回调函数和策略模式,允许程序在运行时选择合适的函数来执行。

下面是一个函数指针的示例:

// 假设有一个返回类型为 int,参数为两个 int 的函数
int add(int a, int b) {
    return a + b;
}

// 声明一个指向这种类型函数的指针
int (*functionPtr)(int, int);

// 将 functionPtr 指向 add 函数
functionPtr = add;

// 通过函数指针调用 add 函数
int result = functionPtr(3, 4);
```

### 指针函数

指针函数,又称为函数指针类型,是一个返回指针类型的函数。指针函数的声明方式是在函数返回类型前面加上星号(*),表示该函数返回一个指针。指针函数通常用于返回动态分配的内存地址,或者返回指向其他函数或数据的指针。

下面是一个指针函数的示例:

```c
// 声明一个返回 int* 类型(即指向 int 的指针)的函数
int* createArray(int size) {
    int* arr = new int[size]; // 动态分配内存
    // 初始化数组...
    return arr;
}

// 调用指针函数并获得返回的指针
int* myArray = createArray(10);
```

在这个例子中,`createArray` 函数动态分配了一个大小为 `size` 的整数数组,并返回指向这个数组的第一个元素的指针。调用者通过返回的指针可以访问和操作这个数组。

### 总结

- **函数指针**:是一个指针,指向一个函数。它允许程序动态地选择和调用不同的函数。
- **指针函数**:是一个函数,返回一个指针。它通常用于返回动态分配的内存地址或其他数据的指针。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yy_xzz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值