回答編集履歴

4

微修正

2021/09/11 14:29

投稿

episteme
episteme

スコア16612

test CHANGED
@@ -62,7 +62,7 @@
62
62
 
63
63
  kou1[0].a = 123;
64
64
 
65
- printf("before: %d\n", kou2.kouzoutai[0]->a);
65
+ printf("after: %d\n", kou2.kouzoutai[0]->a);
66
66
 
67
67
  return 0;
68
68
 

3

微修正

2021/09/11 14:29

投稿

episteme
episteme

スコア16612

test CHANGED
@@ -56,11 +56,13 @@
56
56
 
57
57
  int main() {
58
58
 
59
+ int main() {
60
+
59
- printf("before: %d\n", (*kou2.kouzoutai[0]).a);
61
+ printf("before: %d\n", kou2.kouzoutai[0]->a);
60
62
 
61
63
  kou1[0].a = 123;
62
64
 
63
- printf("after: %d\n", (*kou2.kouzoutai[0]).a);
65
+ printf("before: %d\n", kou2.kouzoutai[0]->a);
64
66
 
65
67
  return 0;
66
68
 

2

微修正

2021/09/11 14:11

投稿

episteme
episteme

スコア16612

test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  kou1[0].a = 123;
62
62
 
63
- printf("before: %d\n", (*kou2.kouzoutai[0]).a);
63
+ printf("after: %d\n", (*kou2.kouzoutai[0]).a);
64
64
 
65
65
  return 0;
66
66
 

1

追記

2021/09/11 14:05

投稿

episteme
episteme

スコア16612

test CHANGED
@@ -21,3 +21,49 @@
21
21
  kouzoutai2 kou2 = {{{1}, {3}, {2}}};
22
22
 
23
23
  ```
24
+
25
+
26
+
27
+ [追記] あなたのやりたいことはコレ↓ではありませんか?
28
+
29
+ ```C
30
+
31
+ typedef struct{
32
+
33
+ int a;
34
+
35
+ } kouzoutai1;
36
+
37
+
38
+
39
+ typedef struct{
40
+
41
+ kouzoutai1* kouzoutai[3]; // kouzoutai1 -> kouzoutai1*
42
+
43
+ } kouzoutai2;
44
+
45
+
46
+
47
+ kouzoutai1 kou1[3] = {{1},{3},{2}};
48
+
49
+ kouzoutai2 kou2 = { &kou1[0], &kou1[1], &kou1[2] };
50
+
51
+
52
+
53
+ #include <stdio.h>
54
+
55
+
56
+
57
+ int main() {
58
+
59
+ printf("before: %d\n", (*kou2.kouzoutai[0]).a);
60
+
61
+ kou1[0].a = 123;
62
+
63
+ printf("before: %d\n", (*kou2.kouzoutai[0]).a);
64
+
65
+ return 0;
66
+
67
+ }
68
+
69
+ ```