Что означает эта строка? Ее предназначение?
В массив search_for сначала считывается введенная пользователем строка, заканчивающаяся на "Enter" (0x10), затем этот символ Enter заменяется на 0x00, что в C является признаком конца строки.
То есть после fgets в массиве у нас находится введенная строка, перевод строки, \0.
После указанной строки в массиве остается введенная строка, \0, \0 (второй "ноль" уже нагрузки не несет).
Полное объяснение значения "нуль-терминированной строки" вы можете найти здесь Нуль-терминированная строка, но вкратце скажу, что в C-подобных языках это является признаком завершения строки.