c++函数指针和指针函数
时间: 2023-11-23 13:51:12 浏览: 53
函数指针是一个指向函数地址的指针,它可以用来调用该函数。函数指针的定义和使用如下所示:
```
int (*f)(int x, int y);//定义了一个函数指针
f = &add;//将函数add的地址赋给函数指针f
int result = (*f)(1, 2);//通过函数指针调用add函数
```
指针函数是一个返回指针(地址)的函数,它可以用来返回一个指针变量。指针函数的定义和使用如下所示:
```
int *add(int x, int y) {
//函数体
return &c;//返回变量c的地址
}
int *f(int x,int y);//定义了一个指针函数
int *result = f(1, 2);//通过指针函数调用add函数并返回变量c的地址
```
函数指针和指针函数的区别在于,函数指针是一个指向函数地址的指针,用于调用函数;而指针函数是一个返回指针的函数,用于返回一个指针变量的地址。
相关问题
C++函数指针和指针函数
函数指针和指针函数是C语言中的两个概念,它们虽然听起来相似,但实际上是有区别的。
函数指针是指向函数的指针变量。它可以存储函数的地址,并且可以通过该指针调用函数。函数指针的声明方式为:`返回值类型 (*指针变量名)(参数列表)`。例如,声明一个函数指针可以这样写:`int (*funcPtr)(int, int)`,表示该函数指针可以指向返回值为int类型、接受两个int类型参数的函数。使用函数指针时,可以将函数的地址赋值给函数指针,并通过函数指针调用函数。
指针函数是返回指针类型的函数。它定义了一个函数,该函数返回一个指针作为结果。指针函数的声明方式为:`返回值类型 (*函数名)(参数列表)`。例如,声明一个指针函数可以这样写:`int* func()`,表示该指针函数返回一个int类型的指针。使用指针函数时,需要调用该函数并使用其返回的指针。
总结一下,函数指针是指向函数的指针变量,而指针函数是返回指针类型的函数。它们在用途和语法上有所区别,在实际编程中需要根据需求选择使用哪种形式。
c++指针函数和函数指针区别
C语言中的指针函数和函数指针之间有一些区别。指针函数是指返回类型为指针的函数,即函数返回一个指针类型的值。而函数指针是指指向函数的指针,它指向的是函数的地址。
具体来说,指针函数的函数名前面没有指针类型的标志型号“*”,而是在函数的返回类型中指明了返回的是一个指针。例如,一个指针函数的声明可以是:
int* ptrFunc(int a);
而函数指针的函数名前面有一个指针类型的标志型号“*”,它指向函数的地址。函数指针的声明可以是:
int (*funcPtr)(int a);
总结起来,指针函数是一个函数,它返回一个指针类型的值,而函数指针是一个指针,它指向函数的地址。这是指针函数和函数指针之间的主要区别。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C++ 函数指针和指针函数](https://blog.csdn.net/m0_52902391/article/details/123256785)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [C++笔记 指针函数与函数指针详解](https://blog.csdn.net/weixin_40933653/article/details/124022898)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]