在使用任何语言编写程序时,您需要使用各种变量来存储各种信息。
变量只是保留内存位置来存储值。 这意味着当你创建一个变量时,你在内存中保留一些空间。
您可能喜欢存储各种数据类型的信息,如字符,宽字符,整数,浮点数,双浮点数,布尔等。
基于变量的数据类型,操作系统分配内存并决定可以存储在保留内存。
内置类型
C ++为程序员提供了丰富的内置和用户定义数据类型。
下表列出了七种基本的C ++数据类型 :
类型 |
关键词 |
Boolean |
bool |
Character |
char |
Integer |
int |
Floating point |
float |
Double floating point |
double |
Valueless |
void |
Wide character |
wchar_t |
几种基本类型可以使用一种或多种这些类型修饰符进行修改 -
下表显示了变量类型,将该值存储在内存中需要多少内存以及可以存储在此类变量中的最大值和最小值。
类型 |
位宽 |
范围 |
char |
1byte |
-127 to 127 or 0 to 255 |
unsigned char |
1byte |
0 to 255 |
signed char |
1byte |
-127 to 127 |
int |
4bytes |
-2147483648 to 2147483647 |
unsigned int |
4bytes |
0 to 4294967295 |
signed int |
4bytes |
-2147483648 to 2147483647 |
short int |
2bytes |
-32768 to 32767 |
unsigned short int |
Range |
0 to 65,535 |
signed short int |
Range |
-32768 to 32767 |
long int |
4bytes |
-2,147,483,648 to 2,147,483,647 |
signed long int |
4bytes |
same as long int |
unsigned long int |
4bytes |
0 to 4,294,967,295 |
float |
4bytes |
+/- 3.4e +/- 38 (~7 digits) |
double |
8bytes |
+/- 1.7e +/- 308 (~15 digits) |
long double |
8bytes |
+/- 1.7e +/- 308 (~15 digits) |
wchar_t |
2 or 4 bytes |
1 wide character |
变量的大小可能与上表中显示的大小不同,具体取决于您使用的编译器和计算机。
以下是一个示例,它将在您的计算机上生成各种数据类型的正确大小。
#include <IOStream>
using namespace std;
int mAIn() {
cout << "Size of char : " << sizeof(char) << endl;
cout << "Size of int : " << sizeof(int) << endl;
cout << "Size of short int : " << sizeof(short int) << endl;
cout << "Size of long int : " << sizeof(long int) << endl;
cout << "Size of float : " << sizeof(float) << endl;
cout << "Size of double : " << sizeof(double) << endl;
cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;
return 0;
}
这个例子使用了endl,它在每行之后插入一个换行符,
使用<<操作符将多个值传递给屏幕。
我们还使用sizeof()运算符来获取各种数据类型的大小。
当上面的代码被编译和执行时,它会产生以下结果,这些结果可能因机器而异 -
Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4
typedef声明
您可以使用typedef为现有类型创建一个新名称。
以下是使用typedef定义新类型的简单语法 -
typedef type newname;
例如,下面告诉编译器feet是int的另一个名字 -
typedef int feet;
现在,下面的声明是完全合法的,并创建一个称为distance的整数变量 -
feet distance;
枚举类型
枚举类型声明一个可选的类型名称和一组零个或多个可以用作类型值的标识符。
每个枚举器都是一个常量,其类型是枚举。
创建一个枚举需要使用关键字enum。 枚举类型的一般形式是 -
enum enum-name { list of names } var-list;
这里,enum-name是枚举的类型名称。 名称列表以逗号分隔。
例如,下面的代码定义了一个名为colors的颜色枚举和color类型的变量c。 最后,c被分配值“blue”。
enum color { red, green, blue } c;
c = blue;
默认情况下,名字的值为0,第二个名称的值为1,第三个的值为2,依此类推。
但是你可以通过添加一个初始化程序来给出一个名字,一个特定的值。 例如,在下面的枚举中,green的值为5。
enum color { red, green = 5, blue };
在这里,blue的值将是6,因为每个名字都比它之前的名字大一个。