qsort(3) Library Functions Manual qsort(3) qsort, qsort_r - (libc -lc) #include void qsort(size_t n, size_t size; void base[n * size], size_t n, size_t size, typeof(int (const void [size], const void [size])) *compar); void qsort_r(size_t n, size_t size; void base[n * size], size_t n, size_t size, typeof(int (const void [size], const void [size], void *)) *compar, void *arg); glibc ( feature_test_macros(7)): qsort_r(): _GNU_SOURCE qsort() n size. base . compar . . . qsort_r() qsort() compar . arg. . qsort() qsort_r() . attributes(7). +------------+------------------------------------+--------------------+ || | | +------------+------------------------------------+--------------------+ |qsort(), | | MT-Safe | |qsort_r() | | | +------------+------------------------------------+--------------------+ qsort() C11, POSIX.1-2008. qsort() POSIX.1-2001 C89 SVr4 4.3BSD. qsort_r() glibc 2.8. C strcmp(3) . bsearch(3). : #include #include #include static int cmpstringp(const void *p1, const void *p2) { /* " char" strcmp(3) " char" . */ return strcmp(*(const char **) p1, *(const char **) p2); } int main(int argc, char *argv[]) { if (argc < 2) { fprintf(stderr, ": %s <>...\n", argv[0]); exit(EXIT_FAILURE); } qsort(&argv[1], argc - 1, sizeof(char *), cmpstringp); for (size_t j = 1; j < argc; j++) puts(argv[j]); exit(EXIT_SUCCESS); } sort(1), alphasort(3), strcmp(3), versionsort(3) 3 . . : . 6.18 8 2026 qsort(3)