質問するログイン新規登録

回答編集履歴

4

微修正

2021/09/11 14:29

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -30,7 +30,7 @@
30
30
  int main() {
31
31
  printf("before: %d\n", kou2.kouzoutai[0]->a);
32
32
  kou1[0].a = 123;
33
- printf("before: %d\n", kou2.kouzoutai[0]->a);
33
+ printf("after: %d\n", kou2.kouzoutai[0]->a);
34
34
  return 0;
35
35
  }
36
36
  ```

3

微修正

2021/09/11 14:29

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -27,9 +27,10 @@
27
27
  #include <stdio.h>
28
28
 
29
29
  int main() {
30
+ int main() {
30
- printf("before: %d\n", (*kou2.kouzoutai[0]).a);
31
+ printf("before: %d\n", kou2.kouzoutai[0]->a);
31
32
  kou1[0].a = 123;
32
- printf("after: %d\n", (*kou2.kouzoutai[0]).a);
33
+ printf("before: %d\n", kou2.kouzoutai[0]->a);
33
34
  return 0;
34
35
  }
35
36
  ```

2

微修正

2021/09/11 14:11

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -29,7 +29,7 @@
29
29
  int main() {
30
30
  printf("before: %d\n", (*kou2.kouzoutai[0]).a);
31
31
  kou1[0].a = 123;
32
- printf("before: %d\n", (*kou2.kouzoutai[0]).a);
32
+ printf("after: %d\n", (*kou2.kouzoutai[0]).a);
33
33
  return 0;
34
34
  }
35
35
  ```

1

追記

2021/09/11 14:05

投稿

episteme
episteme

スコア16612

answer CHANGED
@@ -9,4 +9,27 @@
9
9
  } kouzoutai2;
10
10
 
11
11
  kouzoutai2 kou2 = {{{1}, {3}, {2}}};
12
+ ```
13
+
14
+ [追記] あなたのやりたいことはコレ↓ではありませんか?
15
+ ```C
16
+ typedef struct{
17
+ int a;
18
+ } kouzoutai1;
19
+
20
+ typedef struct{
21
+ kouzoutai1* kouzoutai[3]; // kouzoutai1 -> kouzoutai1*
22
+ } kouzoutai2;
23
+
24
+ kouzoutai1 kou1[3] = {{1},{3},{2}};
25
+ kouzoutai2 kou2 = { &kou1[0], &kou1[1], &kou1[2] };
26
+
27
+ #include <stdio.h>
28
+
29
+ int main() {
30
+ printf("before: %d\n", (*kou2.kouzoutai[0]).a);
31
+ kou1[0].a = 123;
32
+ printf("before: %d\n", (*kou2.kouzoutai[0]).a);
33
+ return 0;
34
+ }
12
35
  ```