# **[](https://en.cppreference.com/w/c/header/stdlib)** covers memory allocation (`malloc`, `calloc`, `free`), type conversion (`atoi`, `strtol`), sorting/searching (`qsort`, `bsearch`), and process control (`exit`, `abort`). It's the "junk drawer" of the C standard library. Always check `malloc` for NULL; always check `qsort` comparators carefully for overflow. ## Example This example sorts integers with qsort and binary-searches the result. ```c // compile: gcc -o stdlibexample stdlibexample.c // run: ./stdlibexample // description: sort array with qsort, then search it with bsearch #include #include int cmp_int(const void* a, const void* b) { return *(int*)a - *(int*)b; } int main() { int arr[] = {5, 2, 8, 1, 9, 3}; int n = sizeof(arr) / sizeof(arr[0]); qsort(arr, n, sizeof(int), cmp_int); printf("sorted: "); for (int i = 0; i < n; i++) printf("%d ", arr[i]); printf("\n"); int key = 8; int* found = bsearch(&key, arr, n, sizeof(int), cmp_int); printf("search for 8: %s\n", found ? "found" : "not found"); return 0; } ```