Вы передаете неправильное значение для размера элемента qsort
.
Несмотря на то, что вы выделяете 33 байта для каждого массива, у вас фактически нет массива массивов. У вас есть массив указателей , каждый из которых указывает на массив.
Поскольку каждый элемент массива является char *
, вы хотите передать его размер:
qsort(list, current_list_element_count, sizeof(char *), compare);
Или, в более общем смысле:
qsort(list, current_list_element_count, sizeof(*list), compare);
Таким образом, размер, который вы передаете, не зависит от типа.