私はソート(構造体へのポインタの配列)が私が比較しているもの(文字列)ではないので、qsortでできるかどうかはわかりません。ここでqsort()を使用して文字列を含む構造体へのポインタを並べ替える
は私のプログラムの要約版は、(我々はqsort関数(呼び出す前に、すべての生徒データがコアであると仮定)とnソートするレコードの数である)である:
struct student {
char lname[NAMESIZE + 1];
char fname[NAMESIZE + 1];
short mid;
short final;
short hmwks;
};
int cmp(const void *, const void *);
int
main(int argc, char **argv)
{
int n;
struct student *data[MAX];
qsort(data, n, sizeof(struct student *), cmp);
return 0;
}
int
cmp(const void *p0, const void *p1)
{
return strcmp((*(struct student *) p0).lname,
(*(struct student *) p1).lname);
}
ありがとうございました。 – Derek