![]() |
C For Schleife nach Delphi
ich bin gerade dabei, einen C Quelltext nach Delphi zu portieren, und bin auf sowas gestoßen !
was tut das teil ?
Delphi-Quellcode:
for(*edge_pos=1, *chars_found=1; *edge_pos<length; (*chars_found)++,(*edge_pos)++)
{ } dann habe ich noch einen Teil: *chars_found = 0; und (*chars_found) = length; vermute ich da richtig, dass die Klammern in dem Fall überflüssig sind, oder wird da komplett was anderes getan ? Wäre schön, wenn mir jemand helfen könnte ! Danke ! |
Re: C For Schleife nach Delphi
Zitat:
Für die For-Schleife werden zwei Variablen (edge_pos, chars_found) mti 1 initialisiert. Dann läuft die Schleife, solange edge_pos kleiner als length ist und die beiden Variablen werden pro Durchgang um 1 erhöht. //Edit: Sorry, hab da wohl was übersehen: Es werden keine Variablen initialisiert, sondern Zeiger. (Das deutet der * ja an.) Zu deiner zweiten Frage kann ich eigentlich nur mutmaßen, da ich mich wie gesagt überhaupt nicht auskenne, aber ich denke mal, daß die Klammer wahrscheinlich wirklich unnötg ist. |
Re: C For Schleife nach Delphi
Zitat:
Die Zeiger scheinen lediglich ein Workaround für By-Reference-Übergaben zu sein. for-Schleifen in C sind mächtiger als in Delphi, man kann sie nicht immer in Delphi in einer for-Schleife abbilden. In diesem Fall ist eine while-Schleife mit vorheriger Initialisierung nötig:
Delphi-Quellcode:
edge_pos und chars_found sind wahrscheinlich Pointer auf Integer (int *).
edge_pos^ = 1;
chars_found^ = 1; while (edge_pos^ < length) do begin chars_found^ := chars_found^ + 1; edge_pos^ := edge_pos^ + 1; end; |
Re: C For Schleife nach Delphi
Zitat:
|
Re: C For Schleife nach Delphi
okay .. vielen Dank !
das ist mein erster C Quelltext, denn ich nach Delphi portiere, also man möge mir nachsehen :-) Ich hab nur immer etwas Angst, dass man mit einem C Ausdruck mehr anstellt, als man eigentlich vorhatte .... Zitat:
ja, da ist richtig, in meinem Fall aber uninteressant, da das nur Funktionsübergaben by Reference sind .. |
Re: C For Schleife nach Delphi
Zitat:
|
Re: C For Schleife nach Delphi
Zitat:
|
Re: C For Schleife nach Delphi
Zitat:
|
Re: C For Schleife nach Delphi
Wenn du mit "mächtiger"meinst, dass es leichter sei, etwas zu beschreiben, dann ja. Sonst ist es ganz egal, und IMHO ( bin nicht sicher ) sind Delphi schleifen schneller, denn loop variable ist in einem Register gelegt, was nicht der Fall in C ist.
|
Re: C For Schleife nach Delphi
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz