数据类型 变量名; |
数据类型 数组变量[范围], 数组[范围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 }; |