假设:int *p(int a):,则此语句是定义返回指针值的函数,p是函数,这句话对不对?
时间: 2024-03-01 11:51:52 浏览: 26
不完全正确。这个语句定义了一个返回指针的函数p,该函数接受一个整数参数a。在这个语句中,*表示返回类型是一个指针,而不是p是一个指针。因此,p是一个函数,而不是一个指针。如果要定义一个指向函数的指针,应该使用括号将函数名括起来,例如:
```
int (*p)(int a);
```
在这个语句中,p是一个指向函数的指针,该函数接受一个整数参数a并返回一个整数指针。
相关问题
假设:int (*p)(int a):,则此语句是定义返回指针值的函数,p是函数,这句话对不对?
是的,您的理解是正确的。这个语句定义了一个指向函数的指针p,该函数接受一个整数参数a并返回一个整数值。通过使用指向函数的指针,可以将函数视为变量,并将其传递给其他函数或从其他函数返回。例如,以下是一个使用该指针的示例:
```
#include <iostream>
using namespace std;
int add(int a)
{
return a + 1;
}
int main()
{
int (*p)(int);
p = add;
int result = p(5);
cout << result << endl;
return 0;
}
```
在这个例子中,函数add返回输入参数加1的结果。通过将指向函数add的指针p初始化为add函数的地址,可以使用p来调用add函数,并将其结果存储在result变量中。最后,输出result的值为6。
5.下面有关函数和指针的描述中正确的是( ) A.函数指针是指某函数返回值是一个指针值。 B.指针函数是指一个指向函数的指针。 C.假设int (*p)(int a);,则此语句是定义返回指针值的函数,p是函数。 D.假设int *p(int a);,则此语句是定义返回指针值的函数,p是函数
B. 指针函数是指一个指向函数的指针。
解析:
A. 函数指针是指一个指针,它指向一个函数,而不是指某函数返回值是一个指针值。
B. 指针函数是指一个函数,它的返回值是一个指针。
C. 此语句是定义一个指向参数为int类型,返回值为int类型的函数的指针p。
D. 此语句是定义一个参数为int类型,返回值为int类型指针的函数p。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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_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)
![](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)