Структура массивов всегда не удобна с точки зрения понимания работы
с ней человеком, и не всегда дает выигрыш. 1 Могут быть потери, если массив создавать создавать поэлементно через malloc/new и их самодельные эквиваленты.
2 Создание временной переменной такого типа превращается в отдельную задачу
3 Операции s1=s2 и s1==s2 надо реализовывать самостоятельно
4 Надо не забыть все везде исправить если вдруг состав структуры надо будет дополнить каким-то полем