函数指针与指针函数的区别
时间: 2024-06-07 09:12:27 浏览: 20
函数指针与指针函数是两个不同的概念。
函数指针是指向函数的指针变量。它可以存储函数的地址,并且可以通过该指针调用函数。使用函数指针可以在运行时动态地选择并调用不同的函数。例如,可以根据某些条件选择调用不同的排序函数。
指针函数是一个返回指针的函数。它的返回类型是指针,可以是指向任意数据类型的指针。指针函数可以用于返回动态分配内存的指针或者返回指向静态变量的指针。
总结来说,函数指针是指向函数的指针变量,用于调用函数;而指针函数是一个返回指针的函数。
相关问题
指针函数与函数指针区别
回答: 指针函数和函数指针是两个不同的概念。指针函数是一个函数,其返回值是一个指针。它的定义和普通的函数定义相同,只是返回值是一个地址。当调用指针函数时,需要将返回值赋给一个相同类型的指针变量。例如:int *fun(x); int* p; p=fun(a);。而函数指针是指向函数的指针,它包含了函数的入口地址。函数指针的声明格式为:类型说明符 (*函数名)(参数)。需要注意的是,这里的函数名实际上是指针的变量名,它指向一个返回整型值的函数。函数指针的声明和它指向函数的声明保持一致。因此,指针函数和函数指针在用法和定义上有所不同。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [函数指针和指针函数用法和区别](https://blog.csdn.net/luoyayun361/article/details/80428882)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [函数指针和指针函数的区别](https://blog.csdn.net/yinmosujin/article/details/121897897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [指针函数和函数指针的区别](https://blog.csdn.net/m0_57882370/article/details/121858443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
指针函数与函数指针的区别
指针函数和函数指针虽然名字相似,但是它们的含义和作用是不同的。
指针函数是指一个返回指针类型的函数,其返回值是一个指针。例如:
```
int * func(int a, int b){
int *p = &a;
return p;
}
```
函数指针是指一个指向函数的指针变量,其存储的是函数的地址。例如:
```
int add(int a, int b){
return a + b;
}
int (*p)(int, int) = add;
```
可以看出,指针函数是函数,返回值是指针类型;而函数指针是指针变量,存储的是函数的地址。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)