①定义:
结构体就相当于描述某一物体特性的模板。
struct studentInfo{//结构体类型名
int id;
char gender;
char name[20];
}Alice,Bob,stu[1000];//两个结构体变量和当有很多学生时的结构体数组
//如果不想在此处就定义也可:
//studentInfo Alice;
//studentInfo stu[1000];
要想访问结构体内元素,直接写:
Alice.id、Alice.gender等,变量是指针的话可以写成p->id
注意:
struct node{
node n;//不能定义node型变量node*next;
//可以定义node*型指针变量
};
②结构体的构造函数
用于初始化结构体,在结构体内元素较多时推荐使用
对一个普通定义的结构体,其内部会生成一个默认的构造函数但不可见。比如第一个代码中就有一个不可见的studentInfo(){}构造函数,有了它才可以直接定义studentInfo的变量而不进行初始化。在需要时可以直接对结构体变量赋值:
studentInfo stu=studentInfo(123,'M');
只要参数个数和类型不完全相同,就可以定义任意多个构造函数,以适应不同的初始化场合,但要注意此时默认的构造函数会被覆盖!需要手动重新添加上去。
网友评论