Die ursprüngliche Bedeutung des Netzwerkworts „null“ bedeutet in der Regel einen Nullwert, kein Ergebnis oder eine leere Menge. Programme verwenden normalerweise Nullzeiger, um Bedingungen auszudrücken Operationen werden nicht ausgeführt. Die Verwendung von Nullzeigern kann mit Nothing-Werten in Nullable- und Optionstypen verglichen werden.
Die Betriebsumgebung dieses Artikels: Windows 7-System, Dell G3-Computer.
NullDie ursprüngliche Bedeutung ist „leer; die Elemente sind nur Null“. Bei Computern bedeutet dies normalerweise einen Nullwert, kein Ergebnis oder eine leere Menge. Programme verwenden häufig Nullzeiger, um Bedingungen darzustellen, z. B. das Ende einer Liste unbekannter Länge oder die Tatsache, dass eine Operation nicht ausgeführt wurde. Diese Verwendung von Nullzeigern kann mit dem Nothing-Wert in Nullable- und Optionstypen verglichen werden.
Nullzeiger sollten nicht mit nicht initialisierten Zeigern verwechselt werden: Ein Nullzeiger wird garantiert mit jedem Zeiger auf ein gültiges Objekt verglichen. Abhängig von der Sprache und Implementierung verfügen nicht initialisierte Zeiger jedoch möglicherweise nicht über solche Garantien.
Erweiterungsinformationen
Tatsächlich kann die Dereferenzierung eines Nullzeigers zu einem Versuch führen, aus nicht zugeordnetem Speicher zu lesen oder zu schreiben, was einen Segmentierungsfehler oder eine Speicherzugriffsverletzung auslöst. Dies kann sich als Programmabsturz äußern oder zu einer Softwareausnahme führen, die vom Programmcode abgefangen werden kann.
In einigen Fällen ist dies jedoch nicht der Fall. Im x86-Real-Modus ist beispielsweise die Adresse 0000:0000 lesbar und normalerweise auch beschreibbar, und die Dereferenzierung eines Zeigers auf diese Adresse ist ein vollkommen gültiger, aber im Allgemeinen unerwünschter Vorgang, der zu undefiniertem, aber unerwünschtem Verhalten in Ihrer Anwendung führen kann .
Manchmal ist es hilfreich und eindeutig, einen Zeiger mit der Adresse Null zu dereferenzieren. Beispielsweise kann in C geschriebener BIOS-Code für ein 16-Bit-Real-Mode-x86-Gerät durch Dereferenzierung eines Nullzeiger-IDT auf die physische Adresse 0 der Maschine schreiben. Der Compiler kann auch Nullzeiger-Dereferenzierungen optimieren und so Segmentierungsfehler vermeiden, aber auch anderes unerwünschtes Verhalten verursachen.
Zugehörige kostenlose Lernempfehlungen: Programmiervideos
Das obige ist der detaillierte Inhalt vonWas bedeutet das Netzwerkwort null?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!