Zeigergröße: Fest oder variabel?
In C haben Zeiger eine feste Größe, die je nach zugrunde liegender Architektur unterschiedlich ist. Normalerweise belegen Zeiger auf 32-Bit-Systemen 32 Bit Speicher, während sie auf 64-Bit-Systemen 64 Bit belegen. Diese feste Größe geht aus dem folgenden Codeausschnitt hervor:
int x = 10; int *xPtr = &x; char y = 'a'; char *yPtr = &y; std::cout << sizeof(x) << "\n"; std::cout << sizeof(xPtr) << "\n"; std::cout << sizeof(y) << "\n"; std::cout << sizeof(yPtr) << "\n";
Ausgabe:
4 4 1 4
Wie Sie sehen können, betragen die Größen von xPtr und yPtr unabhängig von den Typen jeweils 4 sie zeigen darauf. Dies liegt daran, dass Zeiger Speicheradressen speichern, deren feste Größe durch die Architektur bestimmt wird.
Es ist jedoch wichtig zu beachten, dass sich Funktionszeiger unterschiedlich verhalten. Sie nehmen im Allgemeinen mehr Platz ein als Standardzeiger, da sie zusätzliche Informationen über den Funktionsprototyp enthalten.
Das obige ist der detaillierte Inhalt vonSind C-Zeigergrößen fest oder variabel und wie unterscheiden sich Funktionszeiger?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!