Quelle est la différence entre Nil et Null dans le contexte de la programmation?
sobes.tech IA
Réponse de l'IA
Dans le contexte de la programmation, en particulier en iOS et Objective-C, Nil et Null ont des significations différentes :
-
Nil : est un pointeur vers un objet qui est égal à zéro (pointeur nul) pour les objets Objective-C. Il est utilisé pour indiquer l'absence d'un objet (par exemple,
NSObject *obj = Nil;). -
NULL : est une macro qui indique un pointeur nul pour les pointeurs normaux vers des structures C ou des types primitifs (par exemple,
int *ptr = NULL;). -
NSNull : est un objet spécial dans Foundation, utilisé pour représenter une valeur null dans les collections (par exemple, dans
NSArrayouNSDictionary), car elles ne peuvent pas contenirnil.
Exemple :
NSObject *obj = Nil; // pas d'objet
int *ptr = NULL; // pas d'adresse
NSArray *array = @[[NSNull null]]; // objet représentant null dans un tableau
Ainsi, Nil est un pointeur nul pour les objets Objective-C, NULL pour les pointeurs normaux, et NSNull est un objet substitut pour représenter null dans les collections.