4
次のコード行では、dup_func、free_func、およびclear_free funcの前にあるアスタリスクはどうなりますか?関数名の前にアスタリスクは何を意味しますか?
void *(*dup_func)(void *);
void (*free_func)(void *);
void (*clear_free_func)(void *);
次のコード行では、dup_func、free_func、およびclear_free funcの前にあるアスタリスクはどうなりますか?関数名の前にアスタリスクは何を意味しますか?
void *(*dup_func)(void *);
void (*free_func)(void *);
void (*clear_free_func)(void *);
あなたの例では、それらがfunction pointersであることを意味します。一言で言えば
、彼らはあなたがこのようなことを行うことができ:
何語void example()
{
printf("Example called!\n");
}
void call_my_function(void (*fun)())
{
printf("Calling some function\n");
(*fun)();
}
/* Later. */
call_my_function(example);
空のカッコは、古いスタイル(K&R C)であり、C99で廃止されています。 voidを意味するところに 'void'を追加してください。 – Jens
?私はCを推測しているが、誰が知っている。 – aroth
最初の意味は次のとおりです。[cdecl](http://cdecl.ridiculousfish.com/?q=void+*%28*dup_func%29%28void+*%29%3B) –
[void(* a)(char *、char *);これは関数ですか?](http://stackoverflow.com/questions/5546867/void-achar-char-is-this-a-function) – outis