Вы можете сделать это в связанном списке, но связанный список символов обычно будет крайне неэффективной структурой данных - каждый узел будет иметь один символ и (как минимум) один указатель. В типичном случае вы смотрите 4 или 8 байтов для указателя и один для символа, поэтому вы накладываете лот накладных расходов.
Моя непосредственная рекомендация - разместить как минимум 16 символов в каждом узле в вашем связанном списке, чтобы сохранить издержки как минимум разумными. Конечно, динамический массив обычно будет еще лучше, но, по крайней мере, это предотвратит неразумность связанного списка 1008 *.