Итак, у меня есть массив, объявленный так (это не мой код, и я не буду его изменять ):
static const struct {
int gsmesc;
int latin1;
int utf8_int;
char *utf8;
...
} gsm_escapes[] = {
{ 10, 12 , 0x0C, "\x0C" },
{ 20, '^', 0x5E, "\x5E" },
...
};
Обратите внимание, что сама структура без тегов .
Я хочу перебрать этот массив с указателем (а не с индексом массива), и лучшее, что я могу придумать, это то, что компилируется без каких-либо предупреждений:
typeof(*gsm_escapes) *esc;
...
esc = gsm_escapes;
while (esc++->gsmesc != -1) {
esc = gsm_escapes;
while (esc->gsmesc != -1) {
Есть ли "правильный" способ объявить этот тип указателя, поскольку этот подход кажется нехарактерно неэлегичным?
Как вообще называется этот тип структуры данных? Я уже давно гуглюсь и не нашел ни одного учебника для начинающих.