STK500-Besitzer schrieb:
>>Selbes Problem: return einer lokalen Variablen
>
> Dachte ich mir doch.
Der Ordnung halber: Hab mich verschrieben. Das sollte eigentlich "return
der Adresse einer lokalen Variablen" heissen.
Ist schon klar, dass ich dir das nicht erzählen brauche. Aber du bist ja
nicht der Einzige der das liest :-)
> Ich hatte bloß keine Lust das auch noch zu ändern.
> Dazu müsste man dann ja "nur" noch einen Pointer auf das Array in der
> aufrufenden Funktion mit übergeben...
Womit wir dann wieder zurück bei der Version aus der FAQ sind und sich
die Frage erhebt, warum der TO das geändert hat :-)
> Sowas steht wunderbar in der C-Bibel beschrieben...
Yep. Und noch 100-te andere Kleinigkeiten, weswegen sich ein Erwerb und
durchackern derselben immer lohnt.
Was mich auch immer wieder verblüfft: Da wird Code in Form einer
vollständigen Funktion übernommen und noch ehe man die veröffentlichte
Version ausprobiert, wird schon wie wild abgeändert. Und dann ist das
Geschrei groß, dass nichts funktioniert. Dabei wär alles so einfach:
Erst mal die Funktion so belassen wie sie ist. Wenn sie nicht geht, den
Aufruf studieren ob man da nicht ev. einen Fehler gemacht hat. Wenn man
sicher ist, dass beim Aufruf alles so ist wie es sein sollte, beim Autor
nachfragen ob ein Problem bekannt ist (und seinen Aufruf zeigen).
Funktioniert die originale Version so wie sie sollte, dann und erst dann
mit den Änderungen anfangen. Dabei erweist es sich dann als nützlich,
wenn man das Testprogramm zum testen des originalen Codes noch hat.
Läuft dies plötzlich nicht mehr, dann hat man eine Verschlimmbesserung
gemacht und kann sich die letzten Veränderungen noch mal durch den Kopf
gehen lassen und gezielt fragen, wenn einem nicht klar ist, was den das
Problem ist.
Warum ist so ein methodisches Vorgehen blos so schwer?