Почему оно должно сталкиваться? Вы объявили массив указателей, каждый из которых указывает на память, выделенную в другом месте. Когда вы перераспределяете, вы просто изменяете размер / положение этой памяти, указатель, возвращаемый realloc
, такой же большой, как был.
Кстати, вы не должны использовать realloc
таким образом, так как, если это не удастся, у вас будет утечка памяти; см. например здесь .
--- редактировать ---
И, как заметил @asaelr, вы должны удалить этот &
, просто realloc
, в блоке, указанном wordList[3]
, а не в памяти wordList
.