c++構造体を定義する4つの方法

2099 ワード

構造体は異なるデータの烈性を統合して新しいタイプを構成し、データベースの記録に相当します.例えば、学生構造体は、学号、名前などの情報を統合しています.構造体の利点は、これらの情報を全体的に管理することができ、オブジェクト内のクラス向けの属性のように、構造体があれば、より抽象的にカテゴリを記述することができ、個人感覚クラスは構造体から発展したものであり、c/c++では、構造体が宣言する関鍵字はstructである.
構文:
最初の構文表現
struct構造体名{データ型member 1;データ型member 2;  }; 
#include
using namespace std;
struct Student{
    int sNo;
    char name[10];
};
int main(){
    struct Student stu;
	//stu.name="zhangsan";//          
	strcpy(stu.name, "zhangsan");
	stu.sNo=18;
	cout<

2番目の構文表現
typedef struct構造体名{データ型member 1;データ型member 2;}構造体名別名;この方法は,構造体変数を宣言する際に2つの方法がある.
1つ目:struct構造体名構造体変数名2つ目:構造体名別名構造体変数名
理由:typedefキーワードが使用されています.このキーワードの役割は、データ型の別名を宣言し、ユーザーのプログラミングを容易にすることです.そのため、ここで使用すると、構造体名別名はstruct構造体名に相当します.構造体変数を宣言するときはstructを書く必要はありません. 
#include
using namespace std;
 typedef struct Student{
    int sNo;
    char name[10];
} stud;
int main(){
    struct Student stu;//   
	stud stu1;//   ,              stu1,         struct
	//stu.name="zhangsan";//          
	strcpy(stu.name, "zhangsan");
	stu.sNo=18;
	stu1.sNo=19;
	cout<

第3の方法
struct構造体名{データ型member 1;データ型member 2;}構造体変数
#include
using namespace std;
 struct Student{
    int sNo;
    char name[10];
} stu;//                    stu
int main(){
    //struct Student stu;//  ,             
	//stud stu1;///  ,
	//stu.name="zhangsan";//          
	strcpy(stu.name, "zhangsan");
	stu.sNo=18;	
	cout<

第4の態様struct{   データ型member 1;  データ型member 2;}構造体変数名;
この方法は匿名構造体であり、定義時に2つの構造体変数を同時に宣言するが、その構造体の識別子が分からないため、識別子で変数を宣言することはできない.   
#include
using namespace std;
 struct {
    int sNo;
    char name[10];
} stu1,stu2;//             2      stu1,stu2
int main(){    
	strcpy(stu1.name, "zhangsan");
	stu1.sNo=18;
	stu2.sNo=8;
	cout<