właśnie czyta some code w st terminal emulator i natknąłem tej składni:W C co oznacza [foo] = bar?
static void (*handler[LASTEvent])(XEvent *) = {
[KeyPress] = kpress,
[ClientMessage] = cmessage,
/* Removed some lines for brevity ... */
};
Nigdy nie widziałem tej składni w C i nie jestem nawet pewien, co do google. Mam przybliżony pomysł, co robi (definiowanie programu obsługi jako tablicy wskaźników funkcji), ale chciałbym lepiej zrozumieć tę składnię. Wydaje się być poprawne przynajmniej w C99, ale szukam więcej szczegółów, dlaczego to jest poprawne, jak dokładnie działa i może wskaźnik do standardu C, gdzie ta składnia jest zdefiniowana.
Gdybym miał zgadywać, to wydaje się, że niektóre indeksowane inicjalizacji tablicy. –