Возможный дубликат:
Почему sizeof для структуры не равен сумме sizeof каждого члена?
#include <stdio.h>
int main(){
struct word1{
char a;
int b;
char c;
};
struct word2{
char a;
char b;
int c;
};
printf("%d\t%d\n", sizeof(int), sizeof(char)); //Output : 4 1
printf("%d\t%d\n", sizeof(struct word1), sizeof(struct word2)); //Output: 12 8
return 0;
}
Код доступен на IDEONE.
Почему размер структуры 1 (слово1) больше, чем размер структуры 2 (слово2)?
Это проблема компилятора?
void main()
" и ожидайте, что вас не заметят - правильный тип возврата дляmain()
-int
. - person Jonathan Leffler   schedule 24.10.2010void main(void)
. Сохраняет несколько байтов ПЗУ и ОЗУ на AVR. - person Vorac   schedule 25.04.2013void main()
, тогда все в порядке. Однако в общем вопросе C, подобном этому (тот, который не предусматривает автономную среду), использованиеvoid main()
- плохая практика; отсюда и мой комментарий. - person Jonathan Leffler   schedule 25.04.2013