C++自定义数据类型
1. 结构体 struct
- 结构体的声明: struct 结构体名 {成员列表};
- 结构体的初始化:Student student1 = {...}
- 结构体变量的引用:student1.birthday.year = ..;
- 结构体变量的调用:(1) 结构体变量.成员名;(2) (*p).成员名;(3) p->成员名
2. 共用体 union
- 共用体变量所占的内存长度等于最长的成员的长度
3. 枚举类型 enum
- 枚举类型的声明: enum 枚举类型名 {枚举常量列表}
- 枚举元素作为常量,它们是有值的,C++编译按照定义时的顺序对他们赋值为0,1,2,3...,如果未认为制定,则第一个枚举元素的值认作0。
- 一个整数不能直接赋给一个枚举变量,应该进行强制类型转换才能赋值:workday = weekend(2) 相当于 workday = Tuesday.
4. 用typedef声明类型(一般类型名用大写)
- 使用typedef声明一个新的类型名来代替已有的类型名:
- typedef int INTEGER
- typedef struct {} DATE;
- typedef int NUM[100]; NUM n; // 声明NUM为整型数组,包含100个元素
- typedef char* STRING; STRING p;
- typedef int (*POINTER)(); POINTER p1,p2; // 声明POINTER为指向函数的指针类型,返回整型值
动态分配和撤销内存的运算符new和delete:
- 单个元素:new 类型, delete 指针变量
- 数组操作:new 类型 [初值], delete [] 指针变量