В более раннем C-коде я видел много следующего:
type_t *x = (type_t *) malloc(...);
Какая точка бросания указателя возвращается из malloc(), так как она void *? Это связано с тем, что более старые компиляторы C не поддерживали указатели void и malloc() вместо этого возвращали char *?