文章目录
💯前言
C++
是一门功能强大且灵活的编程语言,能够处理从简单到复杂的各种数据。理解 C++
中的数据类型是编写高效和鲁棒代码的基石。本文将深入探讨 C++
中各种数据类型的特性、内存占用、应用场景以及实现方式,力求为读者提供系统性的理解。
C++ 中的数据类型可大致分为基本数据类型和派生数据类型。 基本数据类型包括字符型、整型、浮点型和布尔型,这些类型是 C++ 编程中的基本单元,奠定了程序数据结构和逻辑运算的基础。 接下来,我们将详细分析每一种数据类型的定义、特性、应用及其在程序设计中的具体实现方式。
💯字符型(char)
使用场景:字符型用于存储单个字符,例如 ASCII 字符集中的字符。通常占用 1 字节,它的存储范围可以涵盖简单字符,如字母、数字和特殊符号。字符型通常用于表示标识符、符号或者单个字母。
- char 是 C++ 中的基本数据类型,专门用于表示字符。
- 存储范围:通常为 -128 到 127(有符号),或 0 到 255(无符号)。
- 内存占用:1 字节。
在 C++ 中,字符以 ASCII 编码 的形式存储,每个字符都有一个相应的 ASCII 值。例如,大写字母 ‘A’ 的 ASCII 值是 65,而小写字母 ‘a’ 的 ASCII 值是 97。ASCII 编码是一种标准化的字符编码方案,便于在不同的计算机系统之间交换信息。
1.1 ASCII 码表
下列表格包含有全部 128 个 ASCII 十进制 (dec)、八进制 (oct)、十六进制 (hex) 及字符 (ch) 编码。
dec (十进制) | oct (八进制) | hex (十六进制) | ch (字符) |
---|---|---|---|
0 | 000 | 00 | NUL (空) |
1 | 001 | 01 | SOH (标题开始) |
2 | 002 | 02 | STX (正文开始) |
3 | 003 | 03 | ETX (正文结束) |
4 | 004 | 04 | EOT (传送结束) |
5 | 005 | 05 | ENQ (询问) |
6 | 006 | 06 | ACK (确认) |
7 | 007 | 07 | BEL (响铃) |
8 | 010 | 08 | BS (退格) |
9 | 011 | 09 | HT (横向制表) |
10 | 012 | 0A | LF (换行) |
11 | 013 | 0B | VT (纵向制表) |
12 | 014 | 0C | FF (换页) |
13 | 015 | 0D | CR (回车) |
14 | 016 | 0E | SO (移出) |
15 | 017 | 0F | SI (移入) |
16 | 020 | 10 | DLE (退出数据链) |
17 | 021 | 11 | DC1 (设备控制1) |
18 | 022 | 12 | DC2 (设备控制2) |
19 | 023 | 13 | DC3 (设备控制3) |
20 | 024 | 14 | DC4 (设备控制4) |
21 | 025 | 15 | NAK (反确认) |
22 | 026 | 16 | SYN (同步空闲) |
23 | 027 | 17 | ETB (传输块结束) |
24 | 030 | 18 | CAN (取消) |
25 | 031 | 19 | EM (媒介结束) |
26 | 032 | 1A | SUB (替换) |
27 | 033 | 1B | ESC (退出) |
28 | 034 | 1C | FS (文件分隔符) |
29 | 035 | 1D | GS (组分隔符) |
30 | 036 | 1E | RS (记录分隔符) |
31 | 037 | 1F | US (单元分隔符) |
32 | 040 | 20 | (空格) |
33 | 041 | 21 | ! |
34 | 042 | 22 | " |
35 | 043 | 23 | # |
36 | 044 | 24 | $ |
37 | 045 | 25 | % |
38 | 046 | 26 | & |
39 | 047 | 27 | ’ |
40 | 050 | 28 | ( |
41 | 051 | 29 | ) |
42 | 052 | 2A | * |
43 | 053 | 2B | + |
44 | 054 | 2C | , |
45 | 055 | 2D | - |
46 | 056 | 2E | . |
47 | 057 | 2F | / |
48 |