(1).先看看c++基本数据类型:
#include <iostream> using namespace std; void main() { //基本类型:布尔型(bool) bool isPass = false; //基本类型:字符型(char) char word = '高'; //基本类型:整型(int) int money = 10000; //基本类型:浮点型(float) float score = 95.5; //基本类型:双浮点型(double) double pai = 3.14159; //基本类型:无类型(void),你看我的main方法叫void main,因为我什么也不返回 //基本类型:宽字符型(wchar_t) wchar_t intw = 12; }
(2).c++的基本数据类型竟然没有string,作为一名phper很不理解,原来是因为string可以用char来实现,因此并未成为基本数据类型,仅仅只是放在std的标准库中。也或许是为了兼容c,为了更贴合硬件。切记string是双引号
#include <iostream> using namespace std; void main() { string name = "ZhangSanFeng"; }
(3).宽字符型(wchar_t)类型是什么类型?
wchar_t 类型其实是其他类型的别名,其实它的真正类型是short int 类型。在c++中我们可以通过typedef为数据类型起别名,例如我给int类型起别名叫zhengshu类型
//int起别名叫zhengshu typedef int zhengshu; //zhengshu类型 zhengshu money = 10000;
其实wchar_t 类型也是使用typedef起的别名,它的原型如下:
typedef short int wchar_t;
(4).在c++中数据类型还有类型修饰符,主要有以下几种:
signed , unsigned , short , long
signed代表有符号,二进制最左边需要一个位来表示正负,这意味着可表示的数会少
unsigned代表无符号,二进制位中不需要有表示正负的位,默认认为是正,这意味着可以表示更多的数
而short和long最明显的是决定了你的变量值的范围大小,但也决定了占用内存的多少。
例如short int 的值范围是 -32768 到 32767,而long int表示的值范围到达了-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807,越小能节省内存,具体看自己了。
(5).关于数据类型修饰符的组合还有值表示范围表
类型 | 位 | 范围 |
---|---|---|
char | 1 个字节 | -128 到 127 或者 0 到 255 |
unsigned char | 1 个字节 | 0 到 255 |
signed char | 1 个字节 | -128 到 127 |
int | 4 个字节 | -2147483648 到 2147483647 |
unsigned int | 4 个字节 | 0 到 4294967295 |
signed int | 4 个字节 | -2147483648 到 2147483647 |
short int | 2 个字节 | -32768 到 32767 |
unsigned short int | 2 个字节 | 0 到 65,535 |
signed short int | 2 个字节 | -32768 到 32767 |
long int | 8 个字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
signed long int | 8 个字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
unsigned long int | 8 个字节 | 0 到 18,446,744,073,709,551,615 |
float | 4 个字节 | 精度型占4个字节(32位)内存空间,+/- 3.4e +/- 38 (~7 个数字) |
double | 8 个字节 | 双精度型占8 个字节(64位)内存空间,+/- 1.7e +/- 308 (~15 个数字) |
long double | 16 个字节 | 长双精度型 16 个字节(128位)内存空间,可提供18-19位有效数字。 |
wchar_t | 2 或 4 个字节 | 1 个宽字符 |