work[i].name = name;
В приведенной выше строке указана проблема.
Измените, как показано ниже:
snprintf( work[i].name, sizeof(work[i].name), "%s", name);
То, что вы сделали, пытались изменить базовый указатель массива, а неимя.
Также в коде было еще несколько ошибок, пожалуйста, исправьте их.
Невозможно установить значения по умолчанию для структуры, как вы сделали в C.
Вы должны написать код для инициализации каждой переменной имени экземпляра массива с помощью «no» в цикле, а затем использовать одну из функций сравнения строк для сравнения строк.А затем позвоните своему аддону.