Почему сишники пишут if-ы вот так?
if (!(words = (char**) realloc(words, size*sizeof(char*)))) {
Почему не в 2-3-4 строчки? Компилятору совершенно всё равно, человеку куда более читаемо. Это что, понты или наоборот хороший тон(в чём хороший тогда)?