What will be the size of the following structure?
struct demo{
int a;
char b;
float c;
}
Answer: A
Correct answer: 12
Members are laid out with padding so that each is properly aligned:
| int a | 4 bytes |
|---|---|
| char b | 1 byte + 3 padding |
| float c | 4 bytes |
| total | 12 bytes |
The three padding bytes exist so that the float begins on a 4-byte boundary. Without alignment the total would be 9.
Please log in or register to report this question.