У меня быстрый вопрос о структурах в стиле C. Я копался в образце кода и нашел структуру, объявленную следующим образом:
typedef struct _STRUCTNAME
{
// struct contents
} STRUCTNAME;
Обратите внимание на отсутствие подчеркивания во второй раз, когда появляется STRUCTNAME. Насколько я понимаю, это объявляет один _STRUCTNAME с именем STRUCTNAME, и больше объектов этой структуры не может быть создано.
Однако, похоже, это не так. Структура этого типа никогда не создавалась в коде, за исключением одного места: в глобальном массиве таких объектов, который использовался в случайных местах:
const struct STRUCTNAME ARRAYNAME[] =
{
// various STRUCTNAMEs declared here
};
Еще раз обратите внимание на отсутствие подчеркивания (которое, как я думал, было именем экземпляр объекта?)
Я совершенно не понимаю?
Может кто-нибудь объяснить?