La signification originale du mot réseau null est vide. Dans les ordinateurs, cela signifie généralement une valeur nulle, aucun résultat ou un ensemble vide. Les programmes utilisent généralement des pointeurs nuls pour exprimer la fin d'une liste de conditions. longueur inconnue ou certaines opérations n'ont pas été effectuées. Cette utilisation de pointeurs nuls peut être comparée aux valeurs Nothing dans les types nullable et option.
L'environnement d'exploitation de cet article : système Windows 7, ordinateur Dell G3.
NullLe sens originel est "vide ; les éléments ne sont que zéro". Sur les ordinateurs, cela signifie généralement une valeur nulle, aucun résultat ou un ensemble vide. Les programmes utilisent souvent des pointeurs nuls pour représenter des conditions, telles que la fin d'une liste de longueur inconnue ou le fait qu'une opération n'a pas été effectuée ; cette utilisation de pointeurs nuls peut être comparée à la valeur Nothing dans les types nullable et option.
Les pointeurs nuls ne doivent pas être confondus avec les pointeurs non initialisés : un pointeur nul est garanti d'être comparé à n'importe quel pointeur vers un objet valide. Cependant, selon le langage et l'implémentation, les pointeurs non initialisés peuvent ne pas avoir de telles garanties.
Matériel d'extension
En fait, le déréférencement d'un pointeur nul peut entraîner une tentative de lecture ou d'écriture à partir de la mémoire non mappée, déclenchant ainsi une erreur de fragmentation ou un accès à la mémoire violation. Cela peut se manifester par un crash du programme ou se traduire par une exception logicielle qui peut être détectée par le code du programme.
Cependant, dans certains cas, ce n'est pas le cas. Par exemple, en mode réel x86, l'adresse 0000:0000 est lisible et généralement également accessible en écriture, et le déréférencement d'un pointeur vers cette adresse est une opération parfaitement valide mais généralement indésirable qui peut conduire à un comportement non défini mais indésirable dans votre application. .
Parfois, il est avantageux et sans ambiguïté de déréférencer un pointeur avec l'adresse zéro ; par exemple, le code BIOS écrit en C pour un périphérique x86 en mode réel 16 bits peut être écrit sur la machine en déréférençant un IDT de pointeur nul ; à l'adresse physique 0. Le compilateur peut également optimiser les déréférences de pointeurs nuls, évitant ainsi les erreurs de segmentation mais provoquant d'autres comportements indésirables.
Recommandations d'apprentissage gratuites associées : Vidéos de programmation
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!