qsortライブラリ関数を使用して構造要素の配列を並べ替えていますが、インターネットで検索中に次のリソースが見つかりました。
qsort 関数は、汎用ポインターによって型キャストする必要があることを理解しています。
ただし、次の行を取得できません。
typedef int (*compfn) (const void*, const void*);
宣言されたものと、その後の呼び出し:
qsort((void *) &array, // Beginning address of array
10, // Number of elements in array
sizeof(struct animal), // Size of each element
(compfn)compare // Pointer to compare function
);
- どのように
typedef
動作していますか、つまり、正確に型定義されたものは何int (*compfn)
ですかint (compfn)
? - 前者の場合、呼び出しは ではない
(*compfn)
でしょうか?