Verständnisfrage: Lokale Variablen und untergeordnete Routinen?
-
Hallo,
nur zum Verständnis: Wenn ich innerhalb einer Routine eine lokale Variable (int, AnsiString, etc.) definiere, ist sie dann auch in untergeordneten Routinen bekannt und ansteuerbar?
Gruß
Udo
-
Ja, sofern du mit routine einen code-block meinst.
-
Ja, mein ich schon. Das heisst dann auch, wenn ich in der untergeordneten Routine eine Variable mit gleichen Typ initialisiere, wird die "übergeordnete" Variable (bzw. ihr Wert) zerstört, oder?
Edit: Wie siehts dann eigentlich mit der Lokalität aus? Wird die Variable dann komplett zerstört, wenn ich die untergeordnete Routine verlasse?
[ Dieser Beitrag wurde am 22.01.2003 um 18:57 Uhr von Darkheart editiert. ]
-
? gleichem Typ ? Du meinst gleichem Namen ? Nein, die wird nicht zerstört sondern nur überdeckt, du kommst dann in dem code-block nicht mehr an die ran unter dem namen. sobald der code block beendet ist ist die übergeordnete wieder gültig.
-
Aha, das heisst also im Umkehrschluß es ist eigentlich völlig egal, welche Variablennamen (nicht Typ, war ein Tippfehler) ich in der untergeordneten Routine verwende, sofern ich nicht die Werte aus der übergeordneten Variable brauche kann ich quais den Variablennamen in untergeordneten Routinen verwenden.
Super, das wars, was ich wissen wollte.
-
genau, ist aber kein guter Stil
-
Darkheart:
Solche Fragen sind unterstes C/C++-Grundlagenwissen, beim nächsten mal also bitte im entsprechenden Forum fragen.Oder besser noch (um die Blamage zu vermeiden ;)) entsprechende Tutorials büffeln!
-
Sorry Jansen, wenns das falsche Forum war. Werds demnächst ins richtige Forum stellen.