My problem: this structure that was suposed to be 10 bytes big, is in fact 12... At least that's what the printf tells... I really need to resize the structure to exactly 10 bytes. The problem is that in this case 3 + 2 + 1 + 4 = 12.
Code:
#include<stdio.h>
#include<conio.h>
typedef struct{
char tagid [ 3]; //0-2 TAG identifier. It contains of string "ID3"
short tagver :16 ; //3-4 TAG version. Can be eg. 03 00
char flags : 8 ; //5 Flags
long size :32 ; //6-9 Size of TAG
} MP3ID3TAG2;
main(){
printf("?: %d\n", sizeof(MP3ID3TAG2));
getch();
}
What's going on here??
P.S.: I tried both Visual C++ and GCC, they both do that same thing.