int *p(int); 和int (*p)(int); 的问题

nt (*p)(int)是函数指针,p指向一个函数的起始地址,它相当于一个函数的别名;

int* p(int x);是声明一个返回值为int型指针的函数,要使用这个函数需要先定义,然后使用;

不同之处:
int (p)(int)是一个别名,如果给它指定了一个函数,可以直接使用,它的返回值是int型
int
p(int x);是一个声明,本身不能直接用,必须先定义才能使用,它的返回值是int *型

nt (p)(int)是函数指针,如:
int func(int x); /
声明一个函数 */
int (f) (int x); / 声明一个函数指针 /
f=func; /
将func函数的首地址赋给指针f /
int
p(int x);是一个返回值为int型指针的函数的声明

发布了103 篇原创文章 · 获赞 54 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/u012903992/article/details/103695757
int