void*(*void)(void*) 代表什么?
What does void*(*void)(void*) stands for?
和
有什么区别
void*(*void)(void*)
和
void*(*voi)(void*)
什么时候使用它?
好吧 void*(void)(void)
无法编译,因为它试图声明一个函数 return 是一个名为 void 的 void* 并且您不能使用该语言的关键字作为名称。
你也不能声明一个名为 void 的 int(int void=5;
当然不行)。
现在 voi
是一个有效的标识符,您可以将函数命名为 voi
。
试图了解您实际询问的内容之间的区别。
void(*name)(void);
和void(name)(void);
是一个声明函数,一个声明函数指针。
事实上,第二个例子中的括号没有做任何事情。 void(name)(void);
等同于 void name(void);
.
然而,当声明函数指针时需要括号,否则 *
将绑定到 return 类型。
无论如何,我不确定你到底在问什么,所以你最好在网站上搜索有关函数指针的其他问题。就像 this one 这也解释了为什么使用 void(name)(void)
可以不同于 void(name)()
.
和
有什么区别void*(*void)(void*)
和
void*(*voi)(void*)
什么时候使用它?
好吧 void*(void)(void)
无法编译,因为它试图声明一个函数 return 是一个名为 void 的 void* 并且您不能使用该语言的关键字作为名称。
你也不能声明一个名为 void 的 int(int void=5;
当然不行)。
现在 voi
是一个有效的标识符,您可以将函数命名为 voi
。
试图了解您实际询问的内容之间的区别。
void(*name)(void);
和void(name)(void);
是一个声明函数,一个声明函数指针。
事实上,第二个例子中的括号没有做任何事情。 void(name)(void);
等同于 void name(void);
.
然而,当声明函数指针时需要括号,否则 *
将绑定到 return 类型。
无论如何,我不确定你到底在问什么,所以你最好在网站上搜索有关函数指针的其他问题。就像 this one 这也解释了为什么使用 void(name)(void)
可以不同于 void(name)()
.