summaryrefslogtreecommitdiffstats
path: root/fortgeschritten/02_Zeiger
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2008-09-16 17:01:28 +0200
committerMatthias Schiffer <matthias@gamezock.de>2008-09-16 17:01:28 +0200
commitd0668d3cd77ad617c83f6c2f124d84417285766b (patch)
tree9fad24568d43505120df46a297e0b352d836acc0 /fortgeschritten/02_Zeiger
downloadc++-tutorial-d0668d3cd77ad617c83f6c2f124d84417285766b.tar
c++-tutorial-d0668d3cd77ad617c83f6c2f124d84417285766b.zip
Initialer ImportHEADmaster
Diffstat (limited to 'fortgeschritten/02_Zeiger')
-rw-r--r--fortgeschritten/02_Zeiger/02_Zeiger.cpp33
1 files changed, 33 insertions, 0 deletions
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 <iostream>
+
+
+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;
+}