【发布时间】:2013-05-21 06:20:13
【问题描述】:
在 C 中,函数指针 (void*) 在做什么:
int (*fn) (void*)
如果参数什么都不是,那么它应该是:
int (*fn) ()
我的理解是void* 是一块内存。 void* mem 表示 mem 指向一块内存。但是没有名字的(void*) 是什么?
【问题讨论】:
-
"如果参数什么都不是,那么它应该是" 请注意:在 C 语言中,
void foo()并不意味着没有参数的函数;不同的是,它意味着一个具有未定义数量参数的函数。因此,这样的调用完全有效:foo(1,"abc",2.3)。如果要指定一个参数为 0 的函数,则需要在()之间使用void,如下所示:void foo(void)。
标签: c