- C 和OC的基本数据类型及格式化说明符
int | %d, %i | 整型 | short | %hd, %hi | 短整型or函数 |
Double | %f | 双精度 | Signed |
| 有符号类型 |
Float | %f | 浮点类型 | Struct |
| 结构体 |
char | %c | 字符类型 | Union |
| 共用体类型 |
Id | %@ | 通用的指针类型 | Unsigned |
| 无符号类型 |
Enum |
| 枚举类型 | Void |
| 函数无返回 |
Long | %ld,%li | 长整型or函数 |
|
|
|
Short int | %hd, %hi | 短整型 | Unsigne short | 无符号短整型 | %hu |
Unsigned long | %lu | 无符号长整型 | Long double | %lf | 长双精度型 |
- 整数类型
OC中默认为int型,声明long型常量可以后加l or L
如 long c=88888888L;
类型 | 占用存储空间 | 值域范围 |
Byte | 1个字节 | -128~127 |
Short | 2个字节 | -2 15 ~2 15 -1 |
Int | 4字节 | -2 32 ~ 2 32 -1 |
Long | 8字节 | -2 64 ~ 2 64 -1 |
- 浮点类型
l Float 有效数字为6-7位
l Double 有效数字是15-16位 说明符用%e, %g,%f 表示
l OC中默认为double类型,如果声明一个float型要在数字后加f or F
类型 | 占用存储空间 | 值域范围 |
Float | 4字节 | -3.403E38 |
double | 8字节 | -1.798E308-1.798E |
- 字符char
char型用单引号引起来。范围-128-127
Char c = ‘c’;
Unsigned char 0-255
OC采用Unicode编码,每个字符占两个字节,因而可以用十六进制表示
charc = ‘\u0061’;
‘\n’ 当做单个字符
- 逻辑类型 Boolean
Boolean类型用与存储真值和假值的变量
Boolean类型的数据允许取值 true orfalse ,也可是0 or 非0
- Id 类型
Id 类型是oc中独有的数据类型,他可以是任何类型的对象
格式化说明符 %p
- 基本数据类型的转换
l OC中可以任意基本类型转换到另外基本类型
l 转换分为默认转换和强制转换
l 容量小的类型默认向容量大的转换:byte, short, char ----> int -----> long -----> float-----> double
l -byte,short,char 之间不会互相转换,他们之间计算时会先转换为int类型。
l 容量大的转换为容量小的要加上转换符,但会造成精度降低或溢出。
l 实数常量默认为double整数常量默认为int