Страницы

Поиск по вопросам

воскресенье, 2 февраля 2020 г.

Анонимные структуры

#c


Вычитал на сайте это


  В некотором коде C широко распространено использование typedef вместе
  с анонимными структурами.


Зачем пользоваться анонимными структурами вместе с typedef вместо простого объявления.
    


Ответы

Ответ 1



В С, в отличие от С++, слово struct приходится постоянно использовать с именем типа - struct Pair { int a, b; }; struct Pair z; Просто Pair z; будет не понято компилятором. Чтобы избежать этой проблемы, можно дописать typedef struct Pair mypair; после чего mypair z; станет корректным объявлением. Получается, что само имя Pair de facto не используется нигде, кроме как при объявлении структуры и в typedef. Так не проще ли его вообще выкинуть и использовать typedef с анонимной структурой - typedef struct { int a, b; } pair; pair z; "По-моему, так" (с) Пух

Комментариев нет:

Отправить комментарий