Junior — Middle
Programlama bağlamında Nil ve Null arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Programlama bağlamında, özellikle iOS ve Objective-C'de, Nil ve Null farklı anlamlara gelir:
-
Nil: Objective-C nesneleri için sıfır (null pointer) olan bir nesne işaretçisidir. Bir nesnenin yokluğunu göstermek için kullanılır (örneğin,
NSObject *obj = Nil;). -
NULL: C yapıları veya temel türler için sıfır gösteren makrodur (örneğin,
int *ptr = NULL;). -
NSNull: Foundation'da özel bir nesnedir ve koleksiyonlarda null değeri temsil etmek için kullanılır (örneğin,
NSArrayveyaNSDictionaryiçinde), çünkü bunlarniliçeremez.
Örnek:
NSObject *obj = Nil; // nesne yok
int *ptr = NULL; // adres yok
NSArray *array = @[[NSNull null]]; // dizide null'ı temsil eden nesne
Bu nedenle, Nil Objective-C nesneleri için sıfır işaretçidir, NULL normal işaretçiler içindir ve NSNull, koleksiyonlarda null'ı temsil etmek için kullanılan bir nesne yer tutucusudur.