WIndows第二次实验——复习C++(一)自定义数据类型
2017-03-17 14:49
351 查看
1.结构体类型
将不同的数据组合成一个有机的整体,这些组合在一个整体中的数据是相互联系的。
struct结构体类型名:
struct 结构体类型名
{成员表列};
eg.
struct Student
{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30]
};
在声明一个结构体类型时必须对各成员都进行类型声明,即
类型名 成员名;
(1)定义结构体类型变量的方法
1,先声明结构体类型再定义变量名。
2,在声明类型的同时定义变量。
3,直接定义结构体类型变量。
其一般形式为:
struct //注意没有结构体类型名
{
成员表列
}变量名表列;
(2)结构体变量初始化
可以在定义时指定初始值
(3)结构体变量的引用
1,可以将一个结构体变量的值赋值给另一个具有相同结构的结构体变量。
2,可以引用一个结构体变量中的一个成员的值。
3,如果成员本身也是一个结构体类型,则要用若干个成员运算符,一级一级找到最低一级的成员。
4,不能将一个结构体变量作为一个整体进行输入和输出。
5,对结构体变量的成员可以像普通变量一样进行各种运算。
6,可以引用结构体变量成员的地址,也可以引用结构体变量的地址。
eg.
#include <iostream>
using namespace std;
struct Data
{
int month;
int day;
int year;
};
struct Student
{
int num;
char name[20];
char sex;
Data birthday;
float score;
}student1,student2={10002,"Wang Li",'f',5,23,1982,89.5};
int main(int argc, char *argv[])
{
student1=student2;
cout << student1.num << endl;
cout << student1.name << endl;
cout << student1.sex << endl;
cout << student1.birthday.month<<'/'<< student1.birthday.day <<'/'<< student1.birthday.year << endl;
cout << student1.score << endl;
return 0;
}
运行结果如下:
2,共用体
使几个不同的变量共占同一段内存的结构,称为共用体。
声明共用体类型的一般形式为
union 共用体类型名
{成员表列
};
定义共用体变量的一般形式为
共用体类型名 共用体变量名;
3,枚举类型
所谓”枚举“是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。
声明枚举类型的一般形式为
enum 枚举类型名 {枚举常量表列};
4,用typedef声明类型
用typedef声明一个新的类型名来代替已有的类型名。
声明一个新的类型名的方法是:
(1)先按定义变量的方法写出定义语句
(2)将变量名换成新类型名
(3)在最前面加typedef
(4)然后可以用新类型名去定义变量。
说明:
(1)typedef可以声明各种类型名,但不能用来定义变量。
(2)用typedef只是对已经存在的类型增加一个类型名,而没有创造新的类型。
将不同的数据组合成一个有机的整体,这些组合在一个整体中的数据是相互联系的。
struct结构体类型名:
struct 结构体类型名
{成员表列};
eg.
struct Student
{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30]
};
在声明一个结构体类型时必须对各成员都进行类型声明,即
类型名 成员名;
(1)定义结构体类型变量的方法
1,先声明结构体类型再定义变量名。
2,在声明类型的同时定义变量。
3,直接定义结构体类型变量。
其一般形式为:
struct //注意没有结构体类型名
{
成员表列
}变量名表列;
(2)结构体变量初始化
可以在定义时指定初始值
(3)结构体变量的引用
1,可以将一个结构体变量的值赋值给另一个具有相同结构的结构体变量。
2,可以引用一个结构体变量中的一个成员的值。
3,如果成员本身也是一个结构体类型,则要用若干个成员运算符,一级一级找到最低一级的成员。
4,不能将一个结构体变量作为一个整体进行输入和输出。
5,对结构体变量的成员可以像普通变量一样进行各种运算。
6,可以引用结构体变量成员的地址,也可以引用结构体变量的地址。
eg.
#include <iostream>
using namespace std;
struct Data
{
int month;
int day;
int year;
};
struct Student
{
int num;
char name[20];
char sex;
Data birthday;
float score;
}student1,student2={10002,"Wang Li",'f',5,23,1982,89.5};
int main(int argc, char *argv[])
{
student1=student2;
cout << student1.num << endl;
cout << student1.name << endl;
cout << student1.sex << endl;
cout << student1.birthday.month<<'/'<< student1.birthday.day <<'/'<< student1.birthday.year << endl;
cout << student1.score << endl;
return 0;
}
运行结果如下:
2,共用体
使几个不同的变量共占同一段内存的结构,称为共用体。
声明共用体类型的一般形式为
union 共用体类型名
{成员表列
};
定义共用体变量的一般形式为
共用体类型名 共用体变量名;
3,枚举类型
所谓”枚举“是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。
声明枚举类型的一般形式为
enum 枚举类型名 {枚举常量表列};
4,用typedef声明类型
用typedef声明一个新的类型名来代替已有的类型名。
声明一个新的类型名的方法是:
(1)先按定义变量的方法写出定义语句
(2)将变量名换成新类型名
(3)在最前面加typedef
(4)然后可以用新类型名去定义变量。
说明:
(1)typedef可以声明各种类型名,但不能用来定义变量。
(2)用typedef只是对已经存在的类型增加一个类型名,而没有创造新的类型。
相关文章推荐
- Windows第二次实验——C++复习(二)类和对象
- Windows第二次实验——C++复习(三)字符串
- C++自定义数据类型之枚举
- C++自定义数据类型
- C++自定义数据类型之联合
- C++ map以自定义数据类型做键值
- c++primer第二章“c++定义了几种基本类型,还提供了可用于自定义数据类型的机制,此外,我们还能修改已有的类型以形成复合类型”
- C++中的自定义数据类型(结构体)解析
- C++学习笔记(第七章 自定义数据类型 结构体应用 之二)
- C++ 自定义数据类型 二维数组
- C++自定义数据类型之结构
- 操作系统大型实验进展(3)-----C++常见数据类型字节数
- C++复习6.C/C++高级数据类型
- 【C++复习二】数据类型
- C++学习笔记(第七章 自定义数据类型 结构体应用 之三)
- C++自定义数据类型
- Lengths of Primitive Java and C++ Data Types on Linux and Windows 32-bit/64-bit (Linux和Windows上Java和C++基本数据类型的长度对比32位/64位)
- 一个使用c++在lua中创建自定义数据类型的简易方法
- C++自定义数据类型之指针
- 自定义数据类型 C++ 结构体类型 共同体类型 枚举类型 类类型{}