Вы должны добавить оператор if, который гарантирует, что hashTable[j].head
не NULL
.
Имейте в виду, что ваше условие while является условием ANDing 3, поэтому, если любое из них станет ложным, цикл завершится. В частности, сразу после цикла вы не знаете, вышел ли он, потому что
i
теперь больше или равно size - 1
hashTable[j].head
теперь равно NULL
hashTable[j].index
теперь равно key
Если регистр равен (2), то myNode
будет NULL
, поэтому myNode->key
будет разыменовывать нулевой указатель, что приведет к segfault.