summaryrefslogtreecommitdiffstats
path: root/fortgeschritten/03_Zeiger_als_Parameter/03_Zeiger_als_Parameter.cpp
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/03_Zeiger_als_Parameter/03_Zeiger_als_Parameter.cpp
downloadc++-tutorial-d0668d3cd77ad617c83f6c2f124d84417285766b.tar
c++-tutorial-d0668d3cd77ad617c83f6c2f124d84417285766b.zip
Initialer ImportHEADmaster
Diffstat (limited to 'fortgeschritten/03_Zeiger_als_Parameter/03_Zeiger_als_Parameter.cpp')
-rw-r--r--fortgeschritten/03_Zeiger_als_Parameter/03_Zeiger_als_Parameter.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/fortgeschritten/03_Zeiger_als_Parameter/03_Zeiger_als_Parameter.cpp b/fortgeschritten/03_Zeiger_als_Parameter/03_Zeiger_als_Parameter.cpp
new file mode 100644
index 0000000..dbfcdc9
--- /dev/null
+++ b/fortgeschritten/03_Zeiger_als_Parameter/03_Zeiger_als_Parameter.cpp
@@ -0,0 +1,32 @@
+#include <iostream>
+
+
+void erhoehe(int x) {
+ x++;
+}
+
+void erhoeheZeiger(int *x) {
+ (*x)++;
+}
+
+
+int main() {
+ int i = 5;
+
+ std::cout << i << std::endl;
+
+ /* Wird der int einfach so übergeben, ändert sich nuer x-er Wert innerhalb der erhoehe-Funktion,
+ * das urspüngliche i wird nicht beeinflusst
+ */
+ erhoehe(i);
+ std::cout << i << std::endl;
+
+ /* Wird ein Zeiger übergeben, kann die Funktion über den Zeiger auf die ursprüngliche Variable
+ * zugreifen und sie so erhöhen. Will man, dass eine Funktion einen Parameterwert verändert,
+ * muss sie also einen Zeiger übergeben.
+ */
+ erhoeheZeiger(&i);
+ std::cout << i << std::endl;
+
+ return 0;
+}