一、结构体
1、结构体和数组主要有两点不同,首先结构体可以在一个结构中声明不同的数据类型,其次,相同结构的结构体变量时可以相互赋值的,而数组时做不到的。
2、C++中的结构体与类的区别:
(1)class中默认的成员访问权限是private的,而struct中则是public的。
(2)class继承默认是private继承,而从struct继承默认是public继承。
3、结构体类型变量的定义一般形式为:
struct 结构体类型名{
类型名1 成员名1;
类型名2 成员名2;
类型名n 成员名n;
};
其中struct是结构体类型的标志。结构体名是用户定义的标识符。
4、定义结构体类型,只说明该类型的组成情况,并没有分配内存空间。只有当定义属于结构体类型的变量时,系统才会分配空间给该变量。
5、在结构体类型定义中要注意以下几点:
1)结构体类型定义中不允许对结构体本身的递归定义。但可以使用指针指向本类型。
struct person{
类型名1 成员名1;
类型名2 成员名2;
struct person *per;//指向本类型的指针
};
2)结构体定义中可以包含另外的结构体,即结构体是可以嵌套的。
3)结构体变量可以在定义时进行初始化赋值。
struct person{
char name[20];
char sex;
}boy1={“zhangbing”,’M’};
在对结