1.声明都要以;号结尾
2.用struct声明结构体
eg. struct complex_structure{ double x,y;} z1, z2;
表示后面的z1 z2变量是结构complex_structure 的变量,为含有x,y两个存储空间的double型 z1.x z1.y,z2.x z2.y
3.如果结构体初始化赋值的时候赋值数大于变量数则会报错,而{}内最后的一个赋值数多一个,是可以的
4.如果结构体的其它成员无需初始化而只想对某个成员初始化则可以仅初始化该成员
5.可以做算数运算的为算术类型,整形、浮点型;可以做逻辑运算或做控制表达式的为标量类型,包括算数类型和指针类型
6.atan2(): arctan的意思
1.结构体的巧处在于结构体的调用可以将成员看成一个整体,通过编辑并调用相应的函数来使用这个结构体
2.eg.复数的结构体的{抽象层}存储(表示结构体包含的量)、定义(表示结构体的变量)、变换(从一种变量方式到另一种变量方式)、{抽象层}运算的过程(定义结构成员之间的运算)
3.结构体还可以添加一个数据类型标志,2个数据存储类型,eg.如果标志为1 则为一种数据类型,0则另一种
4.enum是定义一个Tag 的关键字,其中struct表示一个结构体类型,enum表示一个枚举类型,枚举类型的成员是编译器自动分配的常量
5. 虽然结构体的成员名和变量名不在同一命名空间中,但枚举的成员名却和变量名在同一命名空间中,所以会出现命名冲突
6.包含enum的结构体的定义
enumcoordinate_type { RECTANGULAR, POLAR };
structcomplex_struct {
enumcoordinate_type t;
doublea, b;
};
7.结构体可以嵌套使用,初始化的时候也可以嵌套初始化