回答編集履歴
1
修正
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
不正確ですが、オブジェクト指向でたとえるなら、型がクラスで変数がインスタンスです。分かれていなければ不便です。インスタンスが無ければ
|
1
|
+
不正確ですが、オブジェクト指向でたとえるなら、型がクラスで変数がインスタンスです。分かれていなければ不便です。インスタンスが無ければインスタンス変数は設定できません。
|
2
2
|
|
3
3
|
```C
|
4
4
|
#include <stdio.h>
|
@@ -33,6 +33,8 @@
|
|
33
33
|
}
|
34
34
|
```
|
35
35
|
|
36
|
-
この場合、Person が構造体の定義で、alice や bob が構造体変数です。`Person alice;` と宣言してメモリを割り当てています。メモリを割り当ててはじめて name や age を設定することができます。
|
36
|
+
この場合、Person が構造体の定義で、alice や bob が構造体変数です。`struct Person alice;` と宣言してメモリを割り当てています。メモリを割り当ててはじめて name や age を設定することができます。
|
37
37
|
|
38
|
-
なぜ定義と宣言が分かれているかという質問ですが、分かれているからこそ alice と bob を同じ手続きで作れ、同じ関数で表示できるのです。
|
38
|
+
なぜ定義と宣言が分かれているかという質問ですが、分かれているからこそ alice と bob を同じ手続きで作れ、同じ関数で表示できるのです。
|
39
|
+
|
40
|
+
そして構造体変数がないとメンバ変数が操作できないのは、定義だけでメモリが割り当てられていないからです。
|