C++ 数据类型

定义语句

数据类型 变量名;
数据类型 数组变量[范围], 数组[范围1,范围2...]
数据类型 &引用名;
数据类型 *指针名;
类型 类型 变量名;
变量 int iVar;
unsigned char cVar;
struct MyStruct StructVar;
指针 int *iPointVar;
struct MyStruct *StructPointVar;

简单类型

标识 类型 长度 值范围
unsigned char 无符号字符  8 bits  0 to 255
char 字符  8 bits  -128 to 127
enum 枚举(常量序列)  16 bits  -32,768 to 32,767
unsigned int 无符号整数  16 bits  0 to 65,535
short int 整数  16 bits  -32,768 to 32,767
int 整数  16 bits  -32,768 to 32,767
unsigned long 无符号长整数  32 bits  0 to 4,294,967,295
long 长整数  32 bits  -2,147,483,648 to 2,147,483,647
float 单精度浮点数  32 bits  3.4 * (10**-38) to 3.4 * (10**+38)
double 双精度浮点数  64 bits  1.7 * (10**-308) to 1.7 * (10**+308)
long double 浮点数  80 bits  3.4 * (10**-4932) to 1.1 * (10**+4932)

指针类型

指针指向一个地址,不论该地址实际存储着什么类型的数据,一律按定义指针时的类型操作。

定义 说明 示例
int *ip1, *ip2 ; 指向某类型的指针 i = i + *ip1;
int (*p)([参数]) 指向函数的指针,该函数返回 int 值
赋值后用法与函数相同
p(参数)

复合类型

类型 说明 示例
结构 长度为各成员长度之和

各成员存储地址相接

struct MyStruct {
    int i;
    double d;
};
联合 长度为最长的成员长度

各成员存储地址重叠,互相影响

union MyUnion {
    int i;
    double d;
};

注:在结构中,可定义指定位数的整数,如 int a:4 表示 4 位长的整数,最长为 16 位。
    连续定义时,按先低位后高位的顺序排列,整体以字节长度对齐。

enum 用法示例

enum MyEnum {
    Sunday=0,
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday
};