|
Hi Developers,
I am trying to run this chunk of code.
struct value
{
int bit1:1;
int bit3:4;
int bit4:4;
}bit;
printf("%d\n", sizeof(bit));
I am getting value "4". I am running this program in 32 bit machine using Microsoft Visual C++ complier.
Can you please clarify about the result.
|
|
|
|
|
You have 9 bits in your field and the default alignment of object code in 32bit architecture is word (32 bit) boundaries. So your structure item will be stored in a 32bit word. You could make it smaller by using a #pragma pack [^] statement.
By the way, this is the managed C++ forum, your questions really belong in http://www.codeproject.com/Forums/1647/C-Cplusplus-MFC.aspx[^].
|
|
|
|
|
Thanks a lot Rechard.. for the clarification
|
|
|
|