Sobes.tech
Junior — Middle

Proqramlaşdırma kontekstində Nil və Null arasındakı fərq nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Proqramlaşdırma kontekstində, xüsusən iOS və Objective-C-də, NilNull müxtəlif mənalara malikdir:

  • Nil: Objective-C obyektləri üçün sıfır (null pointer) olan göstəricidir. Obyektin mövcud olmadığını göstərmək üçün istifadə olunur (məsələn, NSObject *obj = Nil;).

  • NULL: C strukturları və ya primitiv tiplər üçün sıfır göstəricisini ifadə edən makrodur (məsələn, int *ptr = NULL;).

  • NSNull: Foundation-da xüsusi obyekt olub, kolleksiyalarda null dəyərini ifadə etmək üçün istifadə olunur (məsələn, NSArray və ya NSDictionary daxilində), çünki onlar nil-i qəbul edə bilməz.

Nümunə:

NSObject *obj = Nil;       // obyekt yoxdur
int *ptr = NULL;           // ünvan yoxdur
NSArray *array = @[[NSNull null]]; // massiv daxilində null-ı ifadə edən obyekt

Beləliklə, Nil Objective-C obyektləri üçün sıfır göstəricidir, NULL isə adi göstəricilər üçün, NSNull isə kolleksiyalarda null-ı ifadə edən obyekt üçün istifadə olunur.