OC学习29:数据类型
OC数据类型
iOS数据类型 = C数据类型 + Cocoa类
iOS数据类型不是一种严谨的叫法,实际上指的是C数据类型加上Cocoa框架集合(Foundation、UIKit等)中定义的的数据类型,也即Cocoa类(泛指所有基于Objective-C运行时且派生自根类NSObject的类)。
OC包括C语言中所有的数据类型
C数据类型
- 基本数据类型
整型:int long
字符型:char
浮点型:float double
枚举型: enum 枚举名 {枚举元素}
- 构造类型
数组类型, 结构体类型, 共用体类型
- 指针类型
int*
char*
- 空类型
void
- typedef自定义类型
Cocoa类型
BOOL类型存储:YES NO
Boolean类型存储:ture false
class类型:类
NSString,NSNumber,NSArray,NSMutableArray,NSData等等,这些都是Class类型的,创建后就直接是对象了
id类型:万能指针
nil与NULL
SEL方法选择器
blcok代码段
类型限定修饰词
- 除了上图中基本类型之外,还有一些类型限定修饰词
short短型,修饰int、double;
long长型,修饰int、double;
signed有符号型,修饰int、char;
unsigned 无符号型,修饰int、char;
这些限定词经常用来限定int型,在限定int类型时int可以省略;
short和long会改变int型的长度,在不同编译器长度不相同,但是一般short长度不大于int,int长度不大于long;
signed和unsigned不会改变类型长度,仅表示最高位是否为符号位,其中unsigned表示大于等于0的正数;
- 取值范围
为了以后开发中能够方便查找,并正确的使用数据类型,下面是部分数据类型的取值范围:
int:-2147483648~2147483647
unsigned int:0~4294967295
short:-32768~32767
unsigned short:0~65535
long: -2147483648~2147483647
unsigned long:0~4294967295
- 存储空间
下面列出的是常用数据类型占用的存储空间
- 我们可以通过Xcode,使用
sizeof()
方法,验证上面的基本数据类型所占字节大小。
1 | 2020-07-21 21:49:47.233672+0800 OC数据类型[22953:1507928] bool size:1 |
- Post title:OC学习29:数据类型
- Post author:张建
- Create time:2020-07-17 20:48:42
- Post link:https://redefine.ohevan.com/2020/07/17/OC/OC学习29:数据类型/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.