why is the size of an empty class 1 byte ? does the compiler add some null byte ?

Recommended Answers

All 2 Replies

That's the way it is. The compiler adds a padding byte.

The reason is that each element of an array is required to have a distinct address, and the size of an array with n elements is computed as n*sizeof(element). This would not work if sizeof(element) could yield a zero value ....

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.