回答編集履歴

1

修正

2019/10/06 23:18

投稿

Zuishin
Zuishin

スコア28669

test CHANGED
@@ -1,4 +1,4 @@
1
- 不正確ですが、オブジェクト指向でたとえるなら、型がクラスで変数がインスタンスです。分かれていなければ不便です。インスタンスが無ければ変数は設定できません。
1
+ 不正確ですが、オブジェクト指向でたとえるなら、型がクラスで変数がインスタンスです。分かれていなければ不便です。インスタンスが無ければスタンス変数は設定できません。
2
2
 
3
3
 
4
4
 
@@ -68,8 +68,12 @@
68
68
 
69
69
 
70
70
 
71
- この場合、Person が構造体の定義で、alice や bob が構造体変数です。`Person alice;` と宣言してメモリを割り当てています。メモリを割り当ててはじめて name や age を設定することができます。
71
+ この場合、Person が構造体の定義で、alice や bob が構造体変数です。`struct Person alice;` と宣言してメモリを割り当てています。メモリを割り当ててはじめて name や age を設定することができます。
72
72
 
73
73
 
74
74
 
75
75
  なぜ定義と宣言が分かれているかという質問ですが、分かれているからこそ alice と bob を同じ手続きで作れ、同じ関数で表示できるのです。
76
+
77
+
78
+
79
+ そして構造体変数がないとメンバ変数が操作できないのは、定義だけでメモリが割り当てられていないからです。