回答編集履歴

1

ソース追記

2018/12/08 13:33

投稿

cateye
cateye

スコア6851

test CHANGED
@@ -1 +1,57 @@
1
1
  B b;で、bはできるけど、bの中のaはポインタの値が不定(Aの実態が設定されていない)なので、何が起こるか分かりません。
2
+
3
+ usr~/test/c % cc s1.c
4
+
5
+ usr~/test/c % ./a.out
6
+
7
+ 10
8
+
9
+ usr~/test/c % cat s1.c
10
+
11
+ ```c
12
+
13
+ #include <stdio.h>
14
+
15
+
16
+
17
+ typedef struct {
18
+
19
+ int num;
20
+
21
+ } A;
22
+
23
+
24
+
25
+ typedef struct {
26
+
27
+ A *a;
28
+
29
+ } B;
30
+
31
+
32
+
33
+
34
+
35
+ int main()
36
+
37
+ {
38
+
39
+ B b;
40
+
41
+ A a;
42
+
43
+ a.num= 10;
44
+
45
+ b.a= &a;
46
+
47
+ //
48
+
49
+ printf("%d\n", b.a->num);
50
+
51
+ //
52
+
53
+ return 1;
54
+
55
+ }
56
+
57
+ ```