Heim > Backend-Entwicklung > C++ > Sind C-Zeigergrößen fest oder variabel und wie unterscheiden sich Funktionszeiger?

Sind C-Zeigergrößen fest oder variabel und wie unterscheiden sich Funktionszeiger?

Barbara Streisand
Freigeben: 2024-12-14 09:59:15
Original
438 Leute haben es durchsucht

Are C   Pointer Sizes Fixed or Variable, and How Do Function Pointers Differ?

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";
Nach dem Login kopieren

Ausgabe:

4
4
1
4
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage