Veränderung eines Wertes durch eine Funktion
-
Hallo,
ich habe gerade folgende Aufgabe bearbeitet:
**#include <iostream>
using namespace std;void test(void);
int x = 10;int main()
{ test();
cout << "Der Wert von x in main() ist: " << x << endl;
return 0; }void test()
{ cout << "Der Wert von x in test() ist: " << x << endl;
x = x + 10;}**Die Lösung, was ausgegeben wird, ist: in test() = 10 und in main() = 20.
Das verstehe ich nicht ganz, denn eine Funktion kann doch nur über eine Referenz oder ein Zeiger den Wert in main() verändern.
Oder liegt das daran, das x global initialisiert wurde?MfG
-
X ist global, und kann deswegen von überall verändert werden.
Das mit Zeigern bzw. Referenzen bezieht sich auf Parameter.
-
txtsurf schrieb:
Oder liegt das daran, das x global initialisiert wurde?
Ja.
-
@
Oder liegt das daran, das x global initialisiert wurde?
-initialisiert
+instanziert(alternativ: +definiert)
-
Bzw. deklariert + definiert.
