本博客整理自http://blog.csdn.net/zunfo/article/details/51494631
1.struct结构体定义
1.1.先定义结构体,然后再定义结构体变量
struct Student{
char name[21];//学生姓名
int age; //学生年龄
};
注意:
1)结构体定义完成以后,计算机并不会给结构体分配内存空间
2)会在定义结构体变量后,分配存储空间
结构体变量定义格式:
struct 结构体名 结构体变量名;
struct Student stu1; //这句话表示定义一个Student结构体类型的变量,变量名称是stu1;
//stu1 因为是Student 类型,stu1可以存放学生的姓名、年龄
struct Student stu2,stu3,stu4; // 可以定义多个结构体变量 其中每个结构体变量都是可以存放学生的姓名、年龄
下面展示如何定义结构体指针:
struct* stu_ptr = new Student;
1.2.定义结构体的同时,定义结构体变量
格式及举例如下:
//格式:
struct 结构体名{
//定义结构体内部变量
}结构体变量1,结构体变量2....;
//举例
struct Student{
char name[21];//学生姓名
int age; //学生年龄
}stu5,stu6,stu7;//也是用Student结构体定义了三个结构体变量,名称分别为stu5,stu6,stu7
1.3.使用匿名结构体定义结构体变量
格式及举例如下:
//格式
struct {
//定义结构体内部变量
}结构体变量1,结构体变量2....;
//举例
struct {
char name[21];//学生姓名
int age; //学生年龄
}stu8,stu9;
注意:若要定义指向结构的指针则
struct Student* stu_ptr;//不要忘了关键字struct
2.struct结构体初始化常用方法
结构体定义
struct InitMember {
int first;
double second;
char* third;
float four;
};
2.1.实例化后为成员赋值方式
Student s;
s.age = 16;
s.grade = 1;
s.name = "Jack";
2.2.顺序初始化方式
Student s = {16, 1, "Tom"};