If there is a POD structure, with some member variables, for example like this:
struct foo { short a; int b; char c[50]; // ... };
5.3.3/1:
The sizeof operator yields the number of bytes in the object representation of its operand. The operand is either an expression, which is not evaluated, or a parenthesized type-id.
The above means the following construct is well defined:
sizeof( ((foo *) 0)->a);