Sobes.tech
Junior — Middle

რა განსხვავებაა Nil და Null-ის შორის პროგრამირების კონტექსტში?

sobes.tech AI

პასუხი AI-სგან

ප්‍රෝග්‍රාමීකරණ සන්දර්භයේ, විශේෂයෙන් iOS සහ Objective-C හි, Nil සහ Null වෙනස් අර්ථයන් ඇත:

  • Nil: Objective-C වස්තුවකට අයත් නියමිත (null pointer) සංකේතය. වස්තුවක් නොමැති බව පෙන්වීමට භාවිතා වේ (උදාහරණයක් ලෙස, NSObject *obj = Nil;).

  • NULL: C ව්‍යුහයන් හෝ මූලික වර්ග සඳහා නියමිත (null pointer) සංකේතය (උදාහරණයක් ලෙස, int *ptr = NULL;).

  • NSNull: Foundation හි විශේෂිත වස්තුවක් වන අතර, එකතුවල null අගය නියෝජනය කිරීමට භාවිතා වේ (උදාහරණයක් ලෙස, NSArray හෝ NSDictionary තුළ), එබැවින් ඒවා nil අඩංගු නොවිය හැක.

උදාහරණ:

NSObject *obj = Nil;       // වස්තුවක් නොමැත
int *ptr = NULL;           // ලිපිනයක් නොමැත
NSArray *array = @[[NSNull null]]; // අරේ තුළ null නියෝජනය කරන වස්තුව

ඒ අනුව, Nil — Objective-C වස්තු සඳහා null නියෝජක, NULL — සාමාන්‍ය නියෝජක සඳහා, සහ NSNull — collection තුළ null නියෝජනය කිරීමට වස්තුවකි.