構造体の基礎定義と実現方法について簡単に述べる.


一、構造体の目的宣言
1、まずクラスは単一のデータ定義に比べて、1つのデータがintと定義されている場合、この数はintタイプしか保存できません.charとして定義されている場合、この数はcharタイプしか保存できません.
このとき、名前、学号、性別、年齢などn個のデータがある学生情報定義がある.
単一のデータ定義で学生情報付与を行うと,一人でnの新しいデータを定義し,二人で2 nのデータを新たに定義する必要があり,人数が多すぎると新しいデータを定義する工程だけでは膨大である.
2、だからこの时に构造体で定义を行って、构造体の目的は异なるタイプのデータを需要によって全体のカプセル化を行って、构造体の中のデータのタイプと大きさはすべて自分で添加して、変えることができます.
eg;上の学生情報定義:
struct STUDENT{char name[20];//名前int num;//学号char sex;//性別int age;//年齢};  
このとき,新しく定義された学生は,この構造体を呼び出すだけで,学生ごとに4つの情報を新しく定義することなく,この4つの情報を直接定義することができる.
ここのSTUDENTはintに相当するタイプで、
int aはintタイプのaを表す.STUDENT bはSTUDENTタイプのbを表し、このときbはパッケージされた4種類の情報を含む. 
構造体タイプを宣言する一般的な形式は、struct構造体タイプ名{変数情報}である.
二、構造体定義
上記のように、学生を新たに定義する場合はstruct STUDENT s 1を使用することができる.このときs 1はSTUDENTの4つの情報を持つ.
しかし、構造体タイプの宣言は関数宣言と似ており、すべての関数の前に宣言すれば、すべての関数で直接変数を定義することができます.
ただし、関数で宣言されている場合は、その関数でのみ変数を定義できます.
したがって、ある関数で定義されているものは他の関数では使用できません.他の関数が使用したい場合は参照するしかありません.
あるいはグローバル変数を定義します:つまり定義する時、構造体の最後に";"前に追加します.
ローカル定義:
struct構造体タイプ名物体;
グローバル定義:
struct構造体タイプ名{変数情報}物体;
三、構造体変数の付与参照
割り当て:
このとき、新しい学生s 1が値を割り当てる必要がある場合は、2つの方法があります.
1、定義時に直接すべての値を割り当てます(各項目は構造体に対応する必要があります):
struct STUDENT s 1={「明ちゃん」、20200000、「男」、18};//氏名、学号、性別、年齢
(全体付与値は定義時のみ)
2.各変数情報に個別に値を割り当てる(この場合).
      struct STUDENT s1;
strcpy(s 1.name、「明ちゃん」);//名前s 1.num=20200000;//学号s 1.sex="男";//性別s 1.age=18;//年齢
参照:
個別の割り当てと同じです.
s 1の名前を取得する必要がある場合cout<
s 1の学号を取得する必要がある場合cout<
.........
四、構造体配列
配列と同様ですが、配列は点ごとに1つの数しか保存できません.構造体配列は点ごとにカプセル化された異なるデータ型の構造です.
配列定義int a[5]のように、各点にintタイプのデータが格納される
一方、構造体struct STUDENT s 1[5];各点は1つの構造体であり、4つの情報が格納されている.
例えば5人の学生を定義すると、s 1[0]は1人目を表し、s 1[1]は2人目を表す.
このとき3人目の性別年齢を知るには.
cout<
構造体配列は配列と比較できます.
五、構造体配列の実際の長さ
sizeof(s1)/sizeof(struct STUDENT);//sizeof(s 1)構造体配列サイズ;sizeof(struct STUDENT)各ノードサイズ、すなわち構造体サイズ
六、構造体を指針とする
構造体変数名は式の中で配列のように自動的にポインタに変換されないので、構造体変数のアドレスを取得するには、前に&, :を付けなければならない.
     struct STUDENT  s1; 
     struct STUDENT *s2 = &s1; 
ポインタに対応する変数情報を取得します.
    (*s2).memberName
    s2->memberName
このブログの原因は教科書にコードがあるからです.彼は正しいと思っていました.以下のようにします.
struct {     int number;     char name; }Node[10];
構造体タイプ名がないため、以下はC言語では間違っていることがわかります.タイプ名がなければint aに相当する.intが少なくなったら間違いない
このコードは偽のコードのようなものかもしれません.
文章に何か不足や間違いがあったらコメントを歓迎します.