回答編集履歴

1

ちょっとサンプル

2019/02/17 09:32

投稿

pepperleaf
pepperleaf

スコア6383

test CHANGED
@@ -31,3 +31,59 @@
31
31
  まず、構造体のリスト云々以前に、Cのポインタと型(int, とか) の扱いから、確認すべきと思います。
32
32
 
33
33
  ここの回答に書こうとすると結構な量になりそう。(自分には無理っぽい) 参考となるサイトとかあるか? それとも、書ける人がいるか?
34
+
35
+
36
+
37
+ ----
38
+
39
+ [追記]
40
+
41
+ 難しいだけはと、思い、一部だけ、ちょっと書いてみました。
42
+
43
+ ```C
44
+
45
+ // play : パーティリスト
46
+
47
+ // chara: 追加するメンバー名
48
+
49
+
50
+
51
+ void paty_ch(player_t *play, char *chara)
52
+
53
+ {
54
+
55
+ player_t *newMember;
56
+
57
+ player_t *lastMember = play; // 最後のメンバー検索用
58
+
59
+ newMember = malloc(sizeof(player_t)); // 追加メンバー用の領域確保
60
+
61
+ strcpy(newMember->name, chara); // 最後のメンバー名を設定
62
+
63
+ // newMember->id = ??
64
+
65
+ // newMember->level = ??
66
+
67
+ // ... 以下、同様の他の変数はどうする??
68
+
69
+ newMember->next = NULL; // 最後のメンバーのポインタは、NULLとする。
70
+
71
+ while (lastMember->next != NULL) {
72
+
73
+ lastMember = lastMember->next;
74
+
75
+ }
76
+
77
+ lastMember->next = newMember;
78
+
79
+ newMember->prev = lastMember;
80
+
81
+ }
82
+
83
+ ```
84
+
85
+ この構造体をどう使うかも分からないので、自分なら、こんな風に書くとしか、言えませんが。 (実際には、もう少し記述も必要で、エラーチェックも省いています。)
86
+
87
+
88
+
89
+ 参考として。