Вкратце, нарисуйте нулевой указатель на тип struct A*, но поскольку операнд sizeof не оценивается, это законно и позволяет получить размер элементов структуры без создания экземпляра структуры.
В принципе, мы притворяемся, что его экземпляр существует по адресу 0 и может использоваться для определения смещения и sizeof.
Чтобы подробнее разобраться, прочитайте эту статью: