在我們的iOS學習中,經常會遇到三個空指針nil,Nil和NULL。那麼他們之間有什麼區別呢?

① nil:指向OC對象的空指針

Nil: 指向OC類的空指針

NULL: 指向其他數據類型的空指針

比如:NSString *str = nil;

Class class = Nil;

int *p = NULL;

② nil也用来表示结束。比如定义一个数组

NSArray *array = [NSArrayarrayWithObjects:@"1", @"2", @"3", nil,@"4", @"5"];

NSLog(@"%@", array);

结果:(1,2,3)。


③ 除了這三個指針外,還有一個NSNull,他表示一個空值的對象,通常用來站位。比如:

NSObject *obj = [NSNull null];

NSArray *array = [NSArray arrayWithObjects: @"1", @"2", obj, @"3", nil];

for ( NSString *str in [array objects]) {

NSLog(@“%@”,str);

}

結果:1,2, ,3.