h_323 (h_323) wrote,
h_323
h_323

Зачем typedef'ы вместе со struct'ами

Вот 2 варианта:
struct IExample {
   DWORD   count;
   char    buffer[80];
};

typedef struct {
   DWORD   count;
   char    buffer[80];
} IExample;
Второй вариант для удобства в C. Потому что первый вариант заставляет везде, где нужен IExample, писать struct IExample. Более того, иногда нужен такой вариант:
typedef struct IExample {
   DWORD   count;
   char    buffer[80];
} IExample;
Этот вариант позволяет лишать проблему, круговой зависимости. Мы можем где-нибудь наверху написать предварительное объявление:
struct IExample;
И пользовать его выше определения, правда уже со словом struct. Типа такого
typedef ULONG STDMETHODCALLTYPE AddRefPtr(struct IExample *);
Tags: c
  • Post a new comment

    Error

    default userpic
  • 0 comments