Witam!
Mój problem polega na tym, że nie bardzo wiem jak zadeklarować wskaźnik.
Mam takie tablice:
#define LEV 2
const char *alarm1[][LEV] = {
{"funkcja1", "function1"},
{"funkcja2", "function2"},
{"funkcja3", "function3"}
};
const char *alarm2[][LEV] = {
{"okno1", "window1"},
{"okno2", "window2"},
{"okno3", "window3"}
};
const char *alarm3[][LEV] = {
{"drzwi1", "door1"},
{"drzwi2", "door2"},
{"drzwi3", "door3"}
};
oraz tablicę
AL_TABLE const al_tab[] = {
{"opis1", alarm1},
{"opis2", alarm2},
{"opis3", alarm3}
};
jak powinna wyglądać deklaracja AL_TABLE poniżej, co powinno być w wykropkowanym miejscu?
typedef struct {
char *opis_msg;
.............??? ; //tutaj nie wiem co powinno być próbowałem char **alarm_msg;
} AL_TABLE;
Próbowałem poprzez podwójny wskaźnik: char **alarm_msg; ale to nie działa, działa w przypadku gdy pierwsza (druga oraz trzecia) tablica ma jeden wymiar lub gdy zadeklaruje alarm1[LANG_LEV] (alarm2[LANG_LEV], alarm3[LENG_LEV]), ale jak wtedy odwołać się do poszczególnych pól.
Odwołanie działające w przypadku gdy pierwsza (druga, trzecia) tablica ma jeden wymiar:
char *napis;
unsigned char i, idx;
idx = 1;
i = 1;
napis = al_tab[idx].alarm_msg[i];
Chciałbym dostać napis albo polski albo angielski, ale nie bardzo wiem jak to zrobić. W załączniku rysunek.
Proszę o pomoc lub jakąś podpowiedź.
Pozdrawiam