LINUX.ORG.RU

Использование «стража» вместо sizeof на массивах

 ,


1

2

Здравствуйте.

Читаю «Programming In Lua». В главе про C API автор постоянно заканчивает массивы структур «стражем» - структурой с нулевыми полями. Видимо для того, чтобы в цикле можно было проверить, что структура последняя.

Мне не понятно, почему используется такой «изобретательный» подход вместо sizeof?

      struct ColorTable {
        char *name;
        unsigned char red, green, blue;
      } colortable[] = {
        {"WHITE",   MAX_COLOR, MAX_COLOR, MAX_COLOR},
        {"RED",     MAX_COLOR,         0,         0},
        {"GREEN",           0, MAX_COLOR,         0},
        {"BLUE",            0,         0, MAX_COLOR},
        other colors
        {NULL, 0, 0, 0}  /* sentinel */
      };
★★★★★

Последнее исправление: makoven (всего исправлений: 1)
Ответ на: комментарий от next_time

Я — не программист и говно жрать ради "продакшна" не собираюсь. Все, что у меня на сосфорже/гитхабе/гуглокоде, было написано только для решения моих потребностей. Если кому-то пригодится — пожалуйста, нет — ну так и суда нет.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Ты годный чел эпохи программирования ставшего частью «быть грамотным»

qulinxao ★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.