次の関数プロトタイプを仮定します。関数戻りへのポインタ
void *function(int arg)
これは関数へのポインタですか?もしそうなら、戻り値の型がvoidの場合、これはどのようにして値を返すことができますか?関数の説明は、正の整数またはNULLを返す可能性があることを示します。これらは2つの異なる「タイプ」なので、それはvoid
の理由でしょうか?型キャスティングを避けるには?
次の関数プロトタイプを仮定します。関数戻りへのポインタ
void *function(int arg)
これは関数へのポインタですか?もしそうなら、戻り値の型がvoidの場合、これはどのようにして値を返すことができますか?関数の説明は、正の整数またはNULLを返す可能性があることを示します。これらは2つの異なる「タイプ」なので、それはvoid
の理由でしょうか?型キャスティングを避けるには?
これは関数へのポインタではありません。 voidポインタを返します。 void *
を返す関数の利点は、関数内の任意の型にキャストできることです。説明はhereを参照してください。
これは関数へのポインタではありません。それはvoid
へのポインタを返す関数です。つまり、未処理の未処理のポインタです。 voidを返す関数へのポインタはvoid (*function)(int arg)
です。これらの括弧は意味を完全に変更します。
void *function(int arg);
は、関数へのポインタではありません。これはvoid *
を返し、int
パラメータを持つ関数のプロトタイプです。
いいえ、これは、関数function
が単一のint
引数をとり、void *
の値を返すことを指定するプロトタイプです。
関数へのポインタは、次のようになります。
void *(*fn)(int arg);
これはfunction
の特性と一致する関数を指すポインタfn
を作成します。
いいえ、それは関数へのポインタではありません。汎用ポインターとも呼ばれるvoid *
を返す関数です。
void
はこのことだろう返す関数へのポインタ:関数は何も返さないだろうと
void (*function)(int arg);
と。
正の整数を返すことはできません。ポインタ(NULLポインタかもしれない)を返します。 – Celada