->和.的使用用法
结构体可以定义除了自己本身以外的任何数据类型。
虽然不能定义本身,但能定义自身类型的指针变量。
stuct node{
node n; //错误,不能定义node型变量
node* next; //正确,可以定义node*型指针变量
}
访问结构体的元素有两种方法:“."操作和”->"操作
struct studentInfo{
int id;
char name[20];
studentInfo* next;
}stu,*p;
访问stu中变量的写法如下
stu.id;
stu.name;
stu.next;
而访问指针变量p中的元素的写法如下
p->id;
p->name;
p->next;
结构体初始化
注意!如果自己重新定义了构造函数,则不能不经初始化就定义结构体变量,要把studentInfo(){}手动加上
struct studentInfo{
int id;
char gender;
//用以不初始化就定义结构体变量
studentInfo(){}
//同时初始化id和gender
studentInfo(int _id,char _gender){
id=_id;
gender=_gender;
}
};
注意!
studentInfo stu=studentInfo(10086,‘M’); 正确
studentInfo stu;
stu=studentInfo(10086,‘M’); 错误