From d0668d3cd77ad617c83f6c2f124d84417285766b Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 16 Sep 2008 17:01:28 +0200 Subject: Initialer Import --- fortgeschritten/02_Zeiger/02_Zeiger.cpp | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 fortgeschritten/02_Zeiger/02_Zeiger.cpp (limited to 'fortgeschritten/02_Zeiger/02_Zeiger.cpp') diff --git a/fortgeschritten/02_Zeiger/02_Zeiger.cpp b/fortgeschritten/02_Zeiger/02_Zeiger.cpp new file mode 100644 index 0000000..5c0a066 --- /dev/null +++ b/fortgeschritten/02_Zeiger/02_Zeiger.cpp @@ -0,0 +1,33 @@ +#include + + +int main() { + /* Zeiger sind eine besondere Art von Variablen, die nicht direkt einen Wert enthalten, sondern eine Adresse im + * Arbeitsspeicher, sie zeigen auf eine andere Variable, die im Arbeitsspeicher liegt. + */ + + // Normale Variable + int i = 4; + + // Zeigervariable wird mit * deklariert, int * bedeutet "Zeiger auf einen int"; + // &i bedeutet "Speicheradresse von i", somit zeigt p jetzt auf i. + int *p = &i; + + std::cout << "i: " << i << std::endl; + + // Gibt die Speicheradresse in p aus + std::cout << "p: " << p << std::endl; + + // *p löst den Zeiger p auf, also das, worauf p zeigt + std::cout << "*p: " << *p << std::endl; + + + i = 5; + + // Wenn i sich ändert, bleibt zwar die Speicheradresse gleich, aber der neue Wert ist auch durch p verfügbar + std::cout << "i: " << i << std::endl; + std::cout << "p: " << p << std::endl; + std::cout << "*p: " << *p << std::endl; + + return 0; +} -- cgit v1.2.3