capypad
0 Tage Serie
cpp / beginner
Snippet

Zeiger und Speicheradressen

Zeiger sind Variablen, die Speicheradressen statt tatsächlicher Werte speichern. Der Asterisk (*) deklariert einen Zeigertyp, das Und-Zeichen (&) erhält die Adresse einer Variable, und die Dereferenzierung mit * greift auf den Wert an dieser Adresse zu. Dies gibt dir direkte Kontrolle über die Speichermanipulation.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main() {
int number = 42;
int* ptr = &number;
std::cout << "Value: " << number << std::endl;
std::cout << "Address: " << ptr << std::endl;
std::cout << "Dereferenced: " << *ptr << std::endl;
*ptr = 100;
std::cout << "New value: " << number << std::endl;
return 0;
}
Erklärung
1
int* ptr = &number;
Deklariert einen Zeiger auf int und initialisiert ihn mit der Adresse von number
2
std::cout << "Address: " << ptr << std::endl;
Gibt die Speicheradresse aus, die im Zeiger gespeichert ist
3
std::cout << "Dereferenced: " << *ptr << std::endl;
Verwendet *, um auf den Wert an der Adresse zuzugreifen, auf die ptr zeigt
4
*ptr = 100;
Ändert die ursprüngliche Variable durch den Zeiger