struct
1.1 定义和声明
1.1.1 先定义结构体类型再定义结构体变量
struct Student
{
int Code;
char Name[20];
char Sex;
int Age;
};
# struct可以省略
struct Student Stu;
struct Student StuArray[10];
struct Student *pStru;
1.1.2 在结构体申明的同时定义变量
struct student
{
int Code;
char Name[20];
char Sex;
int Age;
} Stu, StuArray[10],*pStru;
这种情况时,后面还可以再定义结构体变量。
1.1.3 在说明一个无名结构体变量的同时直接进行定义
struct
{
int Code;
char Name[20];
char Sex;
int Age;
}Stu,Stu[10],*pStu;
这种情况下不能再定义其他结构体变量。
1.1.4 使用typedef说明一个结构体变量之后再用新类名来定义变量
typedef struct
{
int Code;
char Name[20];
char Sex;
int Age;
} Student;
Student Stu,Stu[10],*pStu;
Student是结构体的唯一标识,定义变量时不用再加struct
1.2 结构体构造函数
三种结构体初始化的函数
- 利用结构体自带的默认构造函数
- 利用带参数的构造函数
- 利用默认无参的构造函数
struct node{
int data;
string str;
char x;
//注意构造函数最后这里没有分号哦!
node() :x(), str(), data(){} //无参数的构造函数数组初始化时调用
node(int a, string b, char c) :data(a), str(b), x(c){}//有参构造
};