C++ 数据类型
在声明期间,所有变量都使用数据类型来限制要存储的数据类型。因此,可以说数据类型用于告诉变量它可以存储的数据类型。只要在 C++中定义了变量,编译器就会根据声明该变量的数据类型为该变量分配一些内存。每种数据类型都需要不同数量的内存。
C++中的数据类型主要分为三种类型:
- 原始数据类型 :这些数据类型是内置的或预定义的数据类型,用户可以直接使用它们声明变量。例如:int,char,float,bool 等。C++中可用的原始数据类型为:
- 整数
- 字符
- 布尔型
- 浮点
- 双浮点数
- 无价值或虚无
- 宽字符
- 派生数据类型: 从原始或内置数据类型派生的数据类型称为派生数据类型。这些可以是四种类型,即:
- 函数
- 大批
- 指针
- 参考
- 抽象或用户定义的数据类型 :这些数据类型由用户自己定义。就像在 C++中定义类或结构一样。 C++提供了以下用户定义的数据类型:
- 班级
- 结构
- 联盟
- 枚举
- Typedef 定义的 DataType
本文讨论了 C++中可用的 原始数据类型 。
- 整数 :用于整数数据类型的关键字是 int 。整数通常需要 4 个字节的存储空间,范围为-2147483648 至 2147483647。
- 字符 :字符数据类型用于存储字符。用于字符数据类型的关键字是 char 。字符通常需要 1 个字节的存储空间,范围从-128 到 127 或 0 到 255。
- 布尔值 :布尔数据类型用于存储布尔值或逻辑值。布尔变量可以存储true或false 。用于布尔数据类型的关键字是 bool 。
- 浮点数 :浮点数据类型用于存储单精度浮点值或十进制值。用于浮点数据类型的关键字是 float 。浮点变量通常需要 4 个字节的存储空间。
- Double Floating Point :Double Floating Point 数据类型用于存储双精度浮点值或十进制值。用于双浮点数据类型的关键字是 double 。双变量通常需要 8 个字节的存储空间。
- void :无效表示没有任何值。 void 数据类型表示无价值的实体。 void 数据类型是用于不返回值的那些函数。
- 宽字符 :宽字符数据类型也是字符数据类型,但是此数据类型的大小大于正常的 8 位数据类型。由 wchar_t 表示 。通常为 2 或 4 个字节长。
数据类型修饰符
顾名思义,数据类型修饰符与内置数据类型一起使用,以修改特定数据类型可以保存的数据长度。
C++中可用的数据类型修饰符为:
- 签
- 无符号
- 短的
- 长
下表总结了与类型修饰符结合使用时内置数据类型的修改大小和范围:
Data Type | Size (in bytes) | Range |
---|---|---|
short int | 2 | -32,768 to 32,767 |
unsigned short int | 2 | 0 to 65,535 |
unsigned int | 4 | 0 to 4,294,967,295 |
int | 4 | -2,147,483,648 to 2,147,483,647 |
long int | 4 | -2,147,483,648 to 2,147,483,647 |
unsigned long int | 8 | 0 to 4,294,967,295 |
long long int | 8 | -(2^63) to (2^63)-1 |
unsigned long long int | 8 | 0 to 18,446,744,073,709,551,615 |
signed char | 1 | -128 to 127 |
unsigned char | 1 | 0 to 255 |
float | 4 | |
double | 8 | |
long double | 12 | |
wchar_t | 2 or 4 | 1 wide character |
注意 :以上值可能因编译器而异。在上面的示例中,我们考虑了 GCC 32 位。
我们可以通过使用 sizeof() 运算符并将数据类型的关键字作为该函数的参数传递来显示所有数据类型的大小,如下所示:
CPP
// C++ program to sizes of data types
#include
using namespace std;
int main()
{
cout << "Size of char : " << sizeof(char)
<< " byte" << endl;
cout << "Size of int : " << sizeof(int)
<< " bytes" << endl;
cout << "Size of short int : " << sizeof(short int)
<< " bytes" << endl;
cout << "Size of long int : " << sizeof(long int)
<< " bytes" << endl;
cout << "Size of signed long int : " << sizeof(signed long int)
<< " bytes" << endl;
cout << "Size of unsigned long int : " << sizeof(unsigned long int)
<< " bytes" << endl;
cout << "Size of float : " << sizeof(float)
<< " bytes" <<endl;
}
输出:
Size of char : 1 byte
Size of int : 4 bytes
Size of short int : 2 bytes
Size of long int : 8 bytes
Size of signed long int : 8 bytes
Size of unsigned long int : 8 bytes
Size of float : 4 bytes
Size of double : 8 bytes
Size of wchar_t : 4 bytes
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: C++ 数据类型
下一篇: Python 日期和时间
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论