欢迎来到金达范文网!

C语言中指针函数与函数指针有何区别【完整版】

时间:2023-02-16 18:10:06 来源:金达范文网

C语言中指针函数与函数指针有何区别指针函数和函数指针是C语言入门学习中的基础知识,以下是小编搜索整理的关于C语言中指针函数与函数指针的区别,有需要的朋友可以参考一下!想了解更多相关信息请持续关下面是小编为大家整理的C语言中指针函数与函数指针有何区别【完整版】,供大家参考。

C语言中指针函数与函数指针有何区别【完整版】

  C语言中指针函数与函数指针有何区别

  指针函数和函数指针是C语言入门学习中的基础知识,以下是小编搜索整理的关于C语言中指针函数与函数指针的区别,有需要的朋友可以参考一下!想了解更多相关信息请持续关注我们!

  指针函数一般是指返回指针的函数;

  #include <stdio.h>

  int* funint *a

  return a;

  int mainint argc, char **argv

  int a = 3;

  printf"%d", *fun&a;

  return 0;

  函数指针是表示指向函数开始地址的指针:

  首先要了解函数的调用过程:

  #include <stdio.h>

  int funint i

  return i + 1;

  int mainint argc, char **argv

  int r;

  //r = fun5;

  r = *fun5; //调用方式

  printf"%d ", r;

  return 0;

  函数可以用r = *fun5;来调用,说明函数名其实是一个指针,

  通过(*fun)来寻址。所以我们就可以定义一个指针

  #include <stdio.h>

  int funint i

  return i + 1;

  int mainint argc, char **argv

  int r;

  int *funPint; //声明指针

  //funP = fun; //给指针赋值

  funP = &fun;

  r = funP5;

  printf"%d ", r;

  return 0;

  所以,给函数指针赋值也有两种方式;

  同样,通过函数指针调用函数的方式也有两种:

  #include <stdio.h>

  int funint i

  return i + 1;

  int mainint argc, char **argv

  int r;

  int *funPint; //声明指针

  funP = fun; //给指针赋值

  //r = funP5;

  r = *funP5; //调用

  printf"%d ", r;

  return 0;

  也就是说,除了声明的地方,fun与*fun的`作用是一样的。

  这样,也就让C语言容易实现类似于回调函数的结构:

  #include <stdio.h>

  int funAint i

  return i + 1;

  int funBint i

  return i - 1;

  void funint *funPint, int i

  printf"%d ", funPi;

  int mainint argc, char **argv

  int *funPint; //声明指针

  funP = funA; //给指针赋值

  //funP = funB; //给指针赋值

  funfunP, 5; //调用

  return 0;

  在fun函数里,它做的只是在某个时候调用一个funP指针指向的函数,至于是哪个函数,在fun函数的定义处还无从得知;直到将funA赋给函数指针funP,funP具体要做什么功能,才得以确定。

  也就是说,main函数决定fun函数需要帮它实现什么函数代码,但是fun何时调用以及是否调用main给他的函数,那是由fun()来决定。

推荐访问:指针 函数 有何区别 C语言中指针函数与函数指针有何区别 C语言中指针函数与函数指针有何区别 C语言中指针函数与函数指针有何区别 c语言中指针函数与函数指针有何区别和联系 c语言函数指针和指针函数

【C语言中指针函数与函数指针有何区别【完整版】】相关文章:

1.农村党总支存在的问题举例(2篇)

2.农业技术推广服务项目实施方案(6篇)

3.军训典型事例描述(3篇)

4.内部控制规范与实际工作相结合(7篇)

5.写作能力不足自我批评(7篇)