1 C语言中的基本数据类型
整数型:short、int、long
浮点型:float、double
字符型:char
2 uint8_t\uint_16_t\uint32_t\uint64_t
这些数据类型中都带有_t,_t 表示这些数据类型是通过typedef定义的,而不是新的数据类型。它们其实是我们已知的类型的别名
使用这些类型的原因:方便代码的维护,在涉及到跨平台时,不同的平台会有不同的字长,所以利用预编译和 typedef 可以方便的维护代码。比如在C中没有bool型,于是在一个软件中,一个程序员使用int,一个程序员使用short,会比较混乱。最好 用一个typedef来定义一个统一的 bool:
typedef char bool
具体定义:
特别地:
uint8_t实际上是一个char,输出uint8_t类型的变量实际上输出其对应的字符,而不是数值
uint8_t num = 67;
cout << num << endl;
输出'C' // 'C'的ASCII 码为 67
3 size_t和int
size_t是一些C/C++标准在stddef.h中定义的。这个类型足以用来表示对象的大小。size_t的真实类型与操作系统有关:
在32位架构中被普遍定义为:
typedef unsigned int size_t; // 4 bytes
而在64位架构中被定义为:
typedef unsigned long size_t; // 8 bytes
int在不同架构下都是4字节,与size_t不同;且int为带符号数,size_t为无符号数。