Почему sem_t представлен именно в виде union?

Изучая синхронизацию, обнаружил, что sem_t в заголовочном файле bits/semaphore.h представлен в виде union:

typedef union
{
  char __size[__SIZEOF_SEM_T];
  long int __align;
} sem_t;

Для чего же был выбран именно union, а не например struct? Какие у него есть преимущества в данном случае?

Благодарю заранее за ответ


Ответы (0 шт):