- 592 名前:デフォルトの名無しさん [2017/10/08(日) 16:00:19.88 ID:tULmhvm40.net]
- ちょっと教えてくださいとあるHPから抜粋
意味が分からないので解説お願いします 私が負荷した文は<< >>で囲みます struct Person { char name[20]; int sex; // char sex; int age; double height; double weight; } person_s; <<←今までの自分の認識:Person構造体のインスタンスperson_sを生成 しかしこの認識は後述@でpがインスタンスであると推定できることから間違っていると推定できる>> << person_sは構造体宣言の為の鋳型と推定 しかし様々なプログラムをチェックするとここでインスタンス宣言している例も見受けられる >> << 変数が構造体宣言の為の鋳型なのかインスタンスなのかはコンパイラが記述から自動判断???>> person_s p; << ←pがPerson構造体のインスタンスであることは後述@のメンバ呼び出しで推定できる >> とかけば、不要な宣言を減らすことができます。 構造体メンバの初期化 各メンバの初期化方法として次のようなものがあります person_s p = {"Tom", 0, 20, 175.2, 66.5}; <<←構造体宣言鋳型person_sを使用しpをインスタンス宣言??>> // または person_s p; << 構造体宣言鋳型person_sを使用しpをインスタンス宣言?? >> p.name = "Tom"; << この記述でpが構造体Personのインスタンスであると推定できる ・・・@ >> p.sex = 0; << person_sは構造体宣言の鋳型 pはインスタンスであると推定できるが >> << 何故ダイレクトにPersonを使ってpを宣言しないのか? >> << 何故person_sなどという変数を使って間接的に宣言するのか? >> << うんちくきぼんぬ >>
|

|