C90: как я могу глобально инициализировать эту структуру в C без расширений C99
Мне было интересно, как лучше всего инициализировать эту структуру с помощью C90, сохраняя при этом ее аккуратность.
В моем заголовочном файле назовите это тестом.h, у меня определена следующая структура:
struct s_test_cfg{
char *a[3];
char *b[3];
char *c[3];
}
Затем я объявляю его как внешнюю структуру, чтобы я мог инициализировать его глобально в .файл c:
extern struct s_test_cfg test_cfg;
Теперь в моем .c file, я хочу иметь возможность объявить что-то вроде этого глобально (очевидно, то, что я собираюсь написать, не поддерживается в C90):
struct s_test_cfg test_cfg =
{ .a = {"a", "b", "c"},
.b = {"d", "e", "f"},
.c = {"g", "h", "i"} };
Это очевидно делает его очень аккуратным и прозрачным относительно того, что вы пытаетесь сделать. Как я могу инициализировать глобальную структуру в моем файле C, которая также чиста, как этот синтаксис? Спасибо.