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

回答編集履歴

1

追記

2021/07/31 07:58

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -9,4 +9,21 @@
9
9
  `a_test = ga_test;` を実行しても、
10
10
  test の a_test がグローバルな配列 ga_test を指すだけで、
11
11
  main の a_test は変更できません。
12
- main の a_test は配列の先頭アドレスなので変更できません。
12
+ main の a_test は配列の先頭アドレスなので変更できません。
13
+
14
+ **追記**
15
+ > 代入したアドレスを関数を抜けた後も使用できるようにする方法はあるでしょうか。
16
+
17
+ ```diff
18
+ -void SetTestData(int* a_test, int flg)
19
+ +void SetTestData(int** a_test, int flg)
20
+
21
+ - a_test = ga_test1;
22
+ + *a_test = ga_test1;
23
+
24
+ - a_test = ga_test2;
25
+ + *a_test = ga_test2;
26
+
27
+ - SetTestData(a_test, flg);
28
+ + SetTestData(&a_test, flg);
29
+ ```