#include <stdio.h>
#include <stdlib.h>
typedef struct {
char * name;
int growth;
} person_t;
int name_cmp(const void * a, const void * b) {
return strcmp(((person_t*)a)->name, ((person_t*)b)->name);
}
#define PERSONS 3
int main(void) {
person_t array[PERSONS] = {
{ "Petrov", 178 },
{ "Sidorov", 175 },
{ "Ivanov", 180 }
};
int i;
printf("Unsorted:\n");
for ( i = 0; i < PERSONS; ++i )
printf("%s\t%d\n", array[i].name, array[i].growth);
qsort(array, PERSONS, sizeof(person_t), name_cmp);
printf("Sorted by name:\n");
for ( i = 0; i < PERSONS; ++i )
printf("%s\t%d\n", array[i].name, array[i].growth);
return 0;
}