Если я получаю различные выходы на разных компиляторах во время работы ниже программы:Получение различных выходных от различных компиляторов C
#include <stdio.h>
void main()
{
struct s
{
int a;
char b;
} s1, s2;
int x = sizeof(s1);
printf("%d", x);
}
OUTPUT (Turbo C):
(int 2 + char 1 = 3)
я получаю 3 Вот.
OUTPUT (блоки кода):
8
Почему 8 выводится здесь?
Есть много ответов, повторяющих 'sizeof (struct)', который учитывает заполнение так, что оно определено в реализации – Gopi
@Prakash: возможно, 8 из 1 (char) плюс 4 (int) округлено до ближайшего 8. – halfer