文章目录利用计算机进行程序设计前,必须了解数据在计算机中是如何存储的,并知晓数据在程序中的表现形式,掌握在程序中怎样对数据进行运算。唯有如此,才能顺利地进入C++程序设计。
- 前言
- 一、基本类型
- 1. 整型 int
- 2. 字符型 char
- 3. 浮点型 float
- 4. 布尔型 bool
- 二、派生类型
- 1. 指针类型 *
- 2. 枚举类型 enum
- 3. 数组类型 [ ]
- 4. 结构体类型 struct
- 5. 共用体类型 union
- 6. 类类型 class
- 三、空类型 void
- 注意
前言
计算机的处理对象为各种以特定形式存在的数据,即数据类型(例如证书、浮点数、字符等形式),此外数据结构是指数据的组织形式(例如数组)。
注:C++并没有统一规定各类数据的精度、数值范围和在内存中所占的字节数,各种C++编译系统根据自己的情况做出安排。本文以 Visual C++ 编译器为例。
一、基本类型基本类型主要含有整型、字符型、浮点型、布尔型,共4类。
1. 整型 int| 类型 | 标识符 | 所占字节数 | 数值范围 |
|---|---|---|---|
| 有符号整型 | [signed] int | 4 | - 2^31 ~ + 2^31-1 |
| 无符号整型 | unsigned [int] | 4 | 0 ~ 2^32-1 |
| 短整型 | short [int] | 2 | - 2^15 ~ + 2^15-1 |
| 无符号短整型 | unsigned short [int] | 2 | 0 ~ 2^16-1 |
| 长整型 | long [int] | 4 | - 2^31 ~ + 2^31-1 |
| 无符号长整型 | unsigned long [int] | 4 | 0 ~ 2^32-1 |
注:标识符内 [ ] 中的内容为可省写部分。
例如,十进制整数85(二进制形式为1010101)以整型在内存中的存储形式为:
0000 0000 0000 0000 0000 0000 0101 0101 (共占4个字节)
补充知识:8位(bit) = 1字节(byte),16位(bit) = 2字节(byte) = 1字(word)。
2. 字符型 char| 类型 | 标识符 | 所占字节数 | 数值范围 |
|---|---|---|---|
| 有符号字符型 | [signed] char | 1 | - 2^7 ~ + 2^7-1 |
| 无符号字符型 | unsigned [char] | 1 | 0 ~ 2^8-1 |
| 类型 | 标识符 | 所占字节数 | 数值范围 |
|---|---|---|---|
| 单精度型 | float | 4 | - 3.4×10^(-38) ~ +3.4×10^38 |
| 双精度型 | double | 8 | - 1.7×10^(-308) ~ +1.7×10^308 |
| 长双精度型 | long double | 8 | - 1.7×10^(-308) ~ +1.7×10^308 |
| 类型 | 标识符 | 所占字节数 | 数值范围 |
|---|---|---|---|
| 布尔型 | bool | 1 | false,true |
基本类型主要含有指针类型、枚举类型、数组类型、结构体类型、共用体类型、类类型,共6类。
此部分在后续总结中涉及到时,将随时补充其含义及应用。
当一个结构体类型student被声明为以下结构时:
struct student //声明结构体类型 student
{ int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
}
该结构体类型下的两个结构体变量定义为:
student student1,student2; // 定义两个结构体类型为student的变量student1、student2
则每个变量在内存中各占63个字节:
| 变量名 | int | char[20] | char | int | float | char[30] | 总字节数 |
|---|---|---|---|---|---|---|---|
| student1 | 4 | 1*20 | 1 | 4 | 4 | 1*30 | 63 |
| student2 | 4 | 1*20 | 1 | 4 | 4 | 1*30 | 63 |
空类型属于无值型,在后续总结中涉及到时,将随时补充其含义及应用。
注意除以上11种类型外,由以上这些数据类型还可以构成更加复杂的数据结构。例如,利用指针和结构体类型可以构成表、树、栈等复杂的数据结构。
返回总目录



