Sobes.tech
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, NSArray veya NSDictionary içinde), çünkü bunlar nil iç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.