![]() |
Call by Value, Call by Reference
Hi!
Ich muss für die Matura ne 20seitige Ausarbeitung über 2 Themen haben. Hab eigentlich schon alles. Nach Verbesserung durch den Lehrer fehlt nur die Übergabe von Call by Reference und Call by Value Kann mir wer sagen wie man sowas übergibt ? danke im voraus ;) |
Call bei reference:
Du übergibst einen Pointer auf eine Variable (die Original-Variable kann in der Subroutine verändert werden). Call bei Value: Du übergibst den Wert der Variable (die Variable selbst kann in der Subroutine nicht verändert werden). IIRC. ;) |
hi
was ist ein pointer? und mit welchen befehl übergebe ich das? danke! |
Ein Pointer ist ein Zeiger auf den Speicherbereich der Variable - das heißt du kannst dann direkt den Wert der Variable ändern.
Wei schon von _m3 geschrieben, hast halt by Value nur den Wert, aber nicht die Variable direkt. Befehle: abhängig von der Programmiersprache. In VB is eigentlich alles By Reference, außer du gibts in der Funktion/Prozedur ein ByVal vor die Variable. In C ists der nette Stern nach der Variable - also Var*, um By Reference zu übergeben. In C ist, soweit ich micht erinnere alles byVal, außer Strings, die sind by Reference und brauchen keinen *. .... Hast in der Schul net aufpasst.... :D ;) |
c/c++/alle sprachen die das unterstützden
bsp für call by value Code:
int main (void) Code:
int main (void) |
Zitat:
Aaaaaaaaaaaaaaaaaaaaaaaaaaahhhhhh :eek: :ms: This is not funy! :( Wie Du call by reference oder value machst, hängt von der Programmiersprache ab, wie LLR schon geschrieben hat. |
c/c++/alle sprachen die das unterstützden
bsp für call by value Code:
int main (void) Code:
int main (void) int* var ist ein pointer auf den speicherbereich eines ints mit dem namen var. sprich ein pointer zeigt immer auf einen speicherbereich eines bestimmten typs, der wert eines pointers ist nur die adresse, auf die er zeigt |
Zitat:
|
roots, löschst bitte den ersten beitrag von mir. war n doppelpost, hab mal zu schnell auf tab/leertaste gedrückt.
|
Zitat:
:ja: verwundert mich auch etwas |
Zitat:
|
Zitat:
Wir ham grad a paar kleine Programme geschrieben, die sich ein wenig mit Zahlen und Strings gespielt haben. Und da is halt grad mitgekommen, was byVal und byRef in C is, und wie man das angibt - wobei ich jetzt gestehen muss, ich war mir auch nimmer sicher wo der * und das & hingehört. |
unser VBA-Crash-Kurs war aber noch besser - 3x 3Std glaub ich.. je 3std 1 Programm..
|
Geh doch HTL ;-) Ich habs 4. Jahr jetz durchgehend mit C++ ztun, und muss sagen, es steht ma echt scho überall raus :-) Aber zumindest hätt i auch gwusst, was Call by Reference und Call by Value bedeutet... nona :-)
Jedenfalls: VIVA LA VISUAL BASIC! ;-) Ich liebe diese Sprache... um einiges einfacher als C++/VC++ aber dennoch genauso effektiv und jetz, dank Visual Studio .NET noch um einiges kombatibler zu andren Sprachen... VB .NET rocks! :-) So! Sorry für meine doch einigermaßen Off-Topic-Schwärmerei, aber dass musste mal gesagt werden! Ciao, Bulmist |
hehe
auch offtopic aber VB is für mich als linuxer ein graus ;) java rult. das einzige was ich programmieren kann und das sicher in der fh auch rennt ;) weil unser jetziger "programmierprofessor" so n microsoft fan is... |
Zitat:
Wenn ich dazu komm, werd ichs mir wieder mal a bissl anschaun, aber naja, man kann halt so ziemlich alles damit machen, wenn man sich auskennt. Und Java dürft a ziemlich guter, und flexibler Mittelweg sein. Aber um schnell mal was für die Windowswelt zu coden, seis ein kleines Progamm für sich selber (VBA...), ein Verwaltungstool, bzw. auch um in Windows was zu administrieren (Stichwort VBS) ists schon sehr, sehr praktisch. |
Ist zwar auch etwas Off-Topic aber ich muss das einfach mal wieder loswerden ;)
In der .NET Welt werden die Sprachen über kurz oder lang ohnehin zusammenwachsen. Mittlerweile kann man mit VB.NET vieles machen das früher C++ vorbehalten war und andererseits kann man mit .NET Pendant von C++ jetzt auch wunderbar einfach GUI's zaubern, was ja früher oft auch nicht so ohne war. Klingt natürlich ein wenig nach Lobhudelei aber mir gefällt die Richtung in die sich die Sache bewegt wirklich recht gut. |
quote:
-------------------------------------------------------------------------------- Original geschrieben von _m3 [...] was ein Pointer (auf Deutsch "Zeiger", aber das sollte ein Maturant wissen) ist ????? -------------------------------------------------------------------------------- Zitat:
dazu benötigt man keine informatikausbildung sondern schlicht und einfach englischunterricht :D sry das dies so spät kam, nur hats kein anderer gepostet, wie sonst üblich :lol: |
Zitat:
Ich werde mich aber in Zukunft wieder bemühen, in Echtzeit böse zu sein ;) :D |
najo
nur weil ich pointer mit zeiger übersetzen kann heißt das net dass ich weiß was ein pointer in C is. die uhr hat schließlich auch zeiger, bei denen kann ich jedoch weder call by value noch call by reference machen. @seidl leider ist das ganze .NET so dermaßen auf windows-only ausgelegt (jaja, ich weiß, das mono projekt gibts auch) dass es trotz seiner stärke uninteressant wird. |
Es gibt 3 Arten Übergabeparameter im Kopf einer Funktion zu vereinbaren. Abhängig von der Definition der Parameter greift man auf unterschiedliche Bereiche im Speicher zu, zusätzlich verändert sich die Schreibweise bei Referenzen.
Code:
1. Wertübergabe: beispiel(3); Kikakater |
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag