C
x
27
1
2
// without this line, it is success
3
4
struct _c {
5
int c1;
6
_Decimal128 c2;
7
};
8
struct _b {
9
int b1;
10
_Decimal128 b2;
11
struct _c b3; //3rd nested structure
12
};
13
struct _a {
14
int a1;
15
_Decimal128 a2;
16
struct _b a3; // 2nd nested structure
17
};
18
19
int main(void) {
20
struct _a a;
21
printf("sizeof(_Decimal128) = %d\n", (int)sizeof(_Decimal128));
22
printf("_Alignof(_Decimal128) = %d\n", (int)_Alignof(_Decimal128));
23
printf("&a = %p\n", (void*)&a);
24
printf("&a.a3.b3.c2 = %p\n", (void*)&a.a3.b3.c2);
25
return 0;
26
}
27
$ gcc prog.c -Wall -Wextra -std=c11
Start
sizeof(_Decimal128) = 16 _Alignof(_Decimal128) = 16 &a = 0x7fffee270d70 &a.a3.b3.c2 = 0x7fffee270da8
0
Finish