结构体
结构体是一个可以包含不同数据类型的一个结构,使用修饰符struct
进行定义。结构体可以在一个结构中声明不同的数据类型,并且只有结构相同的结构体变量可以相互赋值。
先来看例子,如下构造一个结构体:
struct student
{
int id;
char name[9];
int Chinese,math,English;
double average;
};
以上就是由个人定义的一个结构体student,其中的属性(id,Chinese,average)等被称之为结构体成员,并且有自己的数据类型。需要注意的是,在{}结尾处,要加上一个分号 ; 否则会导致语法错误。另外,描述的结构体并不占用内存空间,只有当用这种新的数据类型定义变量,数组,申请变量或申请堆数组时候才要分配空间。
接下来我们利用这个结构体来创建一些变量并来访问,代码片段如下:
student s; //建立一个student对象
student *ps=&s; //定义一个指针变量指向s
student &rs=s; //定义一个引用(不占用空间)
s.id=1;
strcpy(s.name,"李诗珺"); //利用字符串复制对s.name赋值,不能用s.name="XX"
ps->Chinese=95; //用指针变量访问目标对象成员
(*ps).math=90; //等价于 ps->math=90
s.English=92;
rs.average=(s.Chinese+rs.English+ps->math)/3.0;
//引用访问“绑定”的目标对象成员
cout<<s