函数指针与指针函数有何本质区别,能否一语道破?
- 内容介绍
- 文章标签
- 相关推荐
本文共计581个文字,预计阅读时间需要3分钟。
许多新函数指针、指针函数频繁分开不清晰。实际上,函数指针和指针函数有以下区别:
本质:- 函数指针是指向函数的指针,指向函数的地址。- 指针函数是返回指针的函数,返回一个指向变量的指针。
通俗来说:- 如果程序中定义了一个函数,函数指针就是指向这个函数的指针变量。- 如果一个函数返回的是指针,那么这个函数就是一个指针函数。
好多新人函数指针、指针函数迟迟分不清。
实际上,函数指针和指针函数有以下区别:
- 本质:函数指针是指向函数的指针变量,其本质是一个指针,更通俗的说,如果程序中定义了一个函数,编译时系统会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址,函数名表示的就是这个地址。既然是地址我们就可以定义一个指针变量来存放,这个指针变量就叫作函数指针变量,简称函数指针;而指针函数则是一个函数,其本质不是一个指针。
- 参数:函数指针可以调用具有相同参数类型的函数,也可以调用自身;而指针函数则有一个返回值,该返回值是一个地址值,通常需要用同类型的指针变量来接受该地址值。
- 用途:函数指针通常用于调用函数或作为函数的参数;而指针函数则通常用于实现类似数组的栈或链表等动态数据结构,或者用于实现一些需要动态分配内存的数据结构,如树等。
总结来说,函数指针和指针函数在本质、参数和用途上都有所不同,需要根据具体的需求和场景来选择使用。
本文共计581个文字,预计阅读时间需要3分钟。
许多新函数指针、指针函数频繁分开不清晰。实际上,函数指针和指针函数有以下区别:
本质:- 函数指针是指向函数的指针,指向函数的地址。- 指针函数是返回指针的函数,返回一个指向变量的指针。
通俗来说:- 如果程序中定义了一个函数,函数指针就是指向这个函数的指针变量。- 如果一个函数返回的是指针,那么这个函数就是一个指针函数。
好多新人函数指针、指针函数迟迟分不清。
实际上,函数指针和指针函数有以下区别:
- 本质:函数指针是指向函数的指针变量,其本质是一个指针,更通俗的说,如果程序中定义了一个函数,编译时系统会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址,函数名表示的就是这个地址。既然是地址我们就可以定义一个指针变量来存放,这个指针变量就叫作函数指针变量,简称函数指针;而指针函数则是一个函数,其本质不是一个指针。
- 参数:函数指针可以调用具有相同参数类型的函数,也可以调用自身;而指针函数则有一个返回值,该返回值是一个地址值,通常需要用同类型的指针变量来接受该地址值。
- 用途:函数指针通常用于调用函数或作为函数的参数;而指针函数则通常用于实现类似数组的栈或链表等动态数据结构,或者用于实现一些需要动态分配内存的数据结构,如树等。
总结来说,函数指针和指针函数在本质、参数和用途上都有所不同,需要根据具体的需求和场景来选择使用。

