在我們的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.