diff options
Diffstat (limited to 'fortgeschritten/03_Zeiger_als_Parameter')
-rw-r--r-- | fortgeschritten/03_Zeiger_als_Parameter/03_Zeiger_als_Parameter.cpp | 32 |
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; +} |