回答編集履歴
7
表現変更
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
配列は参照型で、関数に渡すとアドレス(ポインタ)が引き渡ります。関数の仮引数はポインタ変数で引き受けることもできますが、配列定義で引き受けとることもできて配列として処理を書けます。
|
12
12
|
|
13
|
-
配列はコピーされずに共有されているので、関数内で配列内容を変更すると呼び出し元の配列が変更されます。
|
13
|
+
配列はコピーされずに共有されているので、関数内で配列内容を変更すると呼び出し元の配列内容が変更されます。
|
14
14
|
|
15
15
|
|
16
16
|
|
6
表現変更
test
CHANGED
@@ -4,13 +4,13 @@
|
|
4
4
|
|
5
5
|
構造体は値型で、関数に渡すと構造体のコピーが渡され、関数の中で構造体の内容を変更しても呼び出し元の構造体内容は変更されません。
|
6
6
|
|
7
|
-
コピーせずに構造体を共有したい場合は構造体のアドレスを渡すようにします。関数の引数はポインタ変数で引き受けます。関数の中で構造体の内容を変更すると呼び出し元の構造体が変更されます。
|
7
|
+
コピーせずに構造体を共有したい場合は構造体のアドレスを引き渡すようにします。関数の仮引数はポインタ変数で引き受けます。関数の中で構造体の内容を変更すると呼び出し元の構造体が変更されます。
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
-
配列は参照型で、関数に渡すとアドレス(ポインタ)が渡ります。関数の引数はポインタ変数で引き受けることもできますが、配列定義で引き受けとることもできて配列として処理を書けます。
|
11
|
+
配列は参照型で、関数に渡すとアドレス(ポインタ)が引き渡ります。関数の仮引数はポインタ変数で引き受けることもできますが、配列定義で引き受けとることもできて配列として処理を書けます。
|
12
|
-
|
12
|
+
|
13
|
-
配列はコピーされずに共有
|
13
|
+
配列はコピーされずに共有されているので、関数内で配列内容を変更すると呼び出し元の配列が変更されます。
|
14
14
|
|
15
15
|
|
16
16
|
|
5
説明補足
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
質問内容とちょっと違いますが、以下のように構造体の配列にすれば処理がスッキリしますよ。
|
1
|
+
質問内容とちょっと違いますが、以下に示すソースコードのように構造体の配列にすれば処理がスッキリしますよ。
|
2
2
|
|
3
3
|
|
4
4
|
|
4
説明補足
test
CHANGED
@@ -2,6 +2,18 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
構造体は値型で、関数に渡すと構造体のコピーが渡され、関数の中で構造体の内容を変更しても呼び出し元の構造体内容は変更されません。
|
6
|
+
|
7
|
+
コピーせずに構造体を共有したい場合は構造体のアドレスを渡すようにします。関数の引数はポインタ変数で引き受けます。関数の中で構造体の内容を変更すると呼び出し元の構造体が変更されます。
|
8
|
+
|
9
|
+
|
10
|
+
|
11
|
+
配列は参照型で、関数に渡すとアドレス(ポインタ)が渡ります。関数の引数はポインタ変数で引き受けることもできますが、配列定義で引き受けとることもできて配列として処理を書けます。
|
12
|
+
|
13
|
+
配列はコピーされずに共有しているので、配列内容を変更すると呼び出し元の配列が変更されます。
|
14
|
+
|
15
|
+
|
16
|
+
|
5
17
|
```c
|
6
18
|
|
7
19
|
#include <stdio.h>
|
3
コード修正
test
CHANGED
@@ -216,9 +216,7 @@
|
|
216
216
|
|
217
217
|
{
|
218
218
|
|
219
|
-
int ID;
|
220
|
-
|
221
|
-
for (ID = 1; ID <= SIZE; ID++) {
|
219
|
+
for (int ID = 1; ID <= SIZE; ID++) {
|
222
220
|
|
223
221
|
if (list[ID].name[0] == '\0') continue;
|
224
222
|
|
2
説明変更
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
質問内容と
|
1
|
+
質問内容とちょっと違いますが、以下のように構造体の配列にすれば処理がスッキリしますよ。
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
|
36
36
|
|
37
|
-
typedef Info InfoList[SIZE + 1]; // [1]~[SIZE], [0]は使わない
|
37
|
+
typedef Info InfoList[SIZE + 1]; // [1]~[SIZE]を使用, [0]は使わない
|
38
38
|
|
39
39
|
|
40
40
|
|
1
include修正
test
CHANGED
@@ -4,12 +4,12 @@
|
|
4
4
|
|
5
5
|
```c
|
6
6
|
|
7
|
-
#include <stdbool.h>
|
8
|
-
|
9
7
|
#include <stdio.h>
|
10
8
|
|
11
9
|
#include <stdlib.h>
|
12
10
|
|
11
|
+
#include <stdbool.h>
|
12
|
+
|
13
13
|
#include <string.h>
|
14
14
|
|
15
15
|
#define SIZE 100
|