Вы не упоминаете, какой компилятор вы используете. Если он совместим с C99, то должно работать следующее:
const char *a[] = {"A", "B", "C"}; // no cast needed here
const char **b;
void foo(void) {
b = (const char *[]){"A", "B", "C"}; // cast needed
}
Ваши массивы, находящиеся в структуре typedef'd, здесь не имеют значения.