枚举: 枚举是一种用户定义的数据类型,他用关键字enum以如下语法来声明:
enum 枚举数据类型(名字0,…,名字n);
枚举类型名字通常并不真的使用,要用的是在大括号里的名字因为它们就是常量符号,它们的类型是int,值则依次从0到n。
声明结构的形式:
struct point{
int x;
int y; //p1,p2都是point里面有x和y的值
};
struct point p1,p2;
struct{
int x;
int y;
}p1,p2; //p1和p2都是一种无名结构,里面有x和y
struct point{
int x;
int y; //p1,p2都是point里面有x和y的值t
}p1,p2;
对于第一和第三种形式,都声明了结构point。但是第二种形式没有声明point,只是定义了两种变量。
结构:
结构用运算符和名字访问其成员,要访问整个结构直接用结构变量的名字。
对于整个结构,可以做赋值,取地址,也可以传递给函数参数。
结构变量的名字并不是结构变量的地址,必须使用&运算符。
整个结构可以作为参数的值传入函数,这时候是在函数内新建一个结构变量,并复制调用者的结构的值,也可以返回一个结构。
联合:
存储; 所有成员共享一个空间; 同一时间只有一个成员是有效的;
union的大小是其最大的成员; 初始化; 对第一个成员做初始化;
union并不知道当时其中哪个成员是有效的