指针函数和函数指针是指针相关的两个概念。

  1. 指针函数(Pointer to a function):指针函数是一个返回指针的函数。它的声明方式为在函数名前加上 "*",表示该函数返回一个指针。指针函数可以返回指向不同类型的指针,根据具体情况可以返回指向int、char、数组、结构体等不同类型的指针。

示例:

int* add(int a, int b) {
    int* result = malloc(sizeof(int));
    *result = a + b;
    return result;
}
  1. 函数指针(Pointer to a function):函数指针是指向函数的指针变量。它的声明方式为在变量名前加上 "*”,表示该变量是一个指向函数的指针。函数指针可以指向具有相同参数列表和返回类型的函数,通过函数指针可以调用相应的函数。

示例:

int add(int a, int b) {
    return a + b;
}
int (*funcPtr)(int, int) = add;
int result = funcPtr(3, 4);

区别:

  • 概念不同:指针函数是一个返回指针的函数,函数指针是指向函数的指针变量。
  • 使用方式不同:指针函数可以直接调用获取指针指向的数据,而函数指针需要通过函数指针变量来调用相应的函数。
  • 返回类型不同:指针函数返回一个指针,函数指针指向的函数有具体的返回类型。
  • 声明方式不同:指针函数在函数名前加 "",函数指针在变量名前加 ""
指针函数和函数指针是什么有什么区别

原文地址: http://www.cveoy.top/t/topic/iOfc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录