Die Größe von Zeigern: Ein fester Wert oder abhängig vom Typ?
In der Programmierung ist ein Zeiger eine Variable, die die Speicheradresse speichert einer anderen Variablen. Es stellt sich häufig die Frage: Entspricht die Größe eines Zeigers der Größe des Typs, auf den er zeigt, oder haben Zeiger immer eine feste Größe?
Betrachten Sie zur Veranschaulichung den folgenden Code:
Dieser Code gibt Folgendes aus:
Wie Sie sehen können, haben beide Zeiger, xPtr und yPtr, eine Größe von 4 Bytes, unabhängig von der Größe der Variablen, auf die sie verweisen. Dies liegt daran, dass Zeiger im Allgemeinen eine feste Größe haben, die durch das Speichermodell des Systems bestimmt wird. In diesem Fall folgt das System wahrscheinlich einem ausführbaren 32-Bit-Modell.
Während die meisten Systeme eine feste Größe für Zeiger verwenden, gibt es Ausnahmen. Beispielsweise gab es in älteren 16-Bit-Windows-Systemen 32-Bit- und 16-Bit-Zeiger mit unterschiedlichen Größen.
Es ist jedoch wichtig zu beachten, dass Annahmen über Zeigergrößen in Ihrem Code vermieden werden sollten . Wenn Sie stattdessen bestimmte Zeigergrößen benötigen, sollten Sie diese explizit mit geeigneten Methoden überprüfen.
Das obige ist der detaillierte Inhalt vonSind die Zeigergrößen festgelegt oder hängen sie vom Datentyp ab, auf den sie zeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!