| 数据类型 变量名; |
| 数据类型 数组变量[范围], 数组[范围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; }; |
| enum MyEnum { Sunday=0, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; |