结构体指针

来源:互联网 发布:银泰证券软件下载 编辑:程序博客网 时间:2024/06/10 08:36
#include <stdio.h>
#include <string.h>
#include <stdlib.h>


#define NUM 4


struct Student{
unsigned int ID;
char szName[20];
double fGPA;
};


Student Myclass [NUM] = {
        {1234,"tom",3.78},
{1235,"chen",3.58},
{1238,"Jack",3.28},
{1232,"Mary",3.48},
};


int CompareID(const void *elem1,const void *elem2)
{
Student *ps1 = (Student *)elem1;
Student *ps2 = (Student *)elem2;
return ps1->ID-ps2->ID;
}


int CompareName(const void *elem1,const void *elem2)
{
Student *ps1 = (Student *)elem1;
Student *ps2 = (Student *)elem2;
return strcmp(ps1->szName,ps2->szName);


}
int main()
{
int i;
qsort(Myclass,NUM,sizeof(Student),CompareID);
for(i=0;i<NUM;i++)
{
printf("%d ",Myclass[i].ID);
}
printf("\n");
qsort(Myclass,NUM,sizeof(Student),CompareName);
for(i=0;i<NUM;i++)
{
printf("%s ",Myclass[i].szName);
}
printf("\n");
return 0;
}
原创粉丝点击