Was genau ist die for-Schleife?

Tobias K.

Erfahrenes Mitglied
moin


Was ist die for-Schleife?
Ist sie eine Funktion wie jede andere?
Kann man etwas in der Art auch selbst schreiben?

Ich frage weil das zwischen den runden Klammern drei Anweisungen sind, die ich aber in der Form noch nicht bei anderen Funktionen gesehen hab.

Sie ist ein Element von C/C++, funktioniert sie deshalb wie sie Funktioniert?

Gilt das selbe für if oder switch Anweisungen?


mfg
umbrasaxum
 
Die for - Schleife ist schlicht und einfach eine Iteration, also ein Durchlaufen von bestimmten Elementen, wie beispielsweise Container der STL oder Arrays in C/C++.
Die for - Schleife ist im Übrigen keine Funktion und mit if, else und switch kann man sie auch nicht vergleichen, denn das sind Kontrollstrukturen.

Beispiel:
PHP:
 const int ANZAHL; 
 int array[ANZAHL]; 
 for (int i = 0; i<=ANZAHL; i++)
 	cout<<array[i];

Diese Funktion gibt alle Werte des Integer - Arrays aus. der erste Teil initialisiert einen Integer - Wert mit 0, der zweite Teil ist das Abbruchkriterium. Solange also i kleiner gleich Anzahl ist, wird i hochgezählt und durch die Elemente iteriert!
 
moin


Hmm, ich dachte eigentlich das ich deutlich gemacht hab, das ich solche Antworten nicht brauch.
Mich interessiert eher die tiefgehendere technik, ich weiss auch nciht wie ichs beschreiben soll.

Also ich weiss wie man eine benutzt und was man damit machen kann!

Und da du anscheinend noch lernen musst:
Dein kleiner Beispiel Code ist nicht lauffähig, da du ANZAHL keinen Wert zugewiesen hast.


mfg
umbrasaxum
 
Hallo,
ich denke, dass was du hören willst, ist, dass es sich bei einer for-Schleife um eine reine Erleichterung auf Synax-Ebene handelt. Grundsätzlich kann man jede Iteration durch eine while-Schleife darstellen.

Falls diese Antwort dich auch nicht zufrieden stellt, solltest du deine Frage vielleicht nochmal genauer formulieren.

Nächtliche Grüße
Patrick
 
*lol* das habe ich jetzt auch gesehen! Tut mir leid, aber es ist aus Deiner Frage nicht wirklich hundertprozentig hervorgegangen, was Du eigentlich wissen möchtest!
Gruß,
Patrick
 
moin


@Guntpat1981
War auch nciht böse gemeint!

@Patrick Kamin
Ja es handelt sich um eine Sysntax erleichterung, schonmal ne gute Antwort.
Bei switch und while ist es ja das selbe.

Aber das ist immernoch nicht genau was ich wissen wollte.

Ist es z.B. möglich etwas vergleichebares wie eine for-Schleife selber zu "bauen", die auf die selbe Art funktioniert?

Und was ist das für eine Art Argumenten übergabe?
Woher weiss die Schelife das die alles zwischen den beiden geschweiften Klammer ausführen soll?


mfg
umbrasaxum
 
So was wie die for schleife kann man meiner Ansicht nicht selber schreiben, das ist halt ein Sprachelement von C; While kann man ja auch nicht umschreiben bzw. Nachprogrammieren.
Als Makro kann man sowas ja auch nicht ohne weiteres machen vorallem weil man es ja aufs folgende Scope ({}) beziehen kann.

Das Grundprinzip kannst ja nachprogrammieren mit GOTO aber das willst du ja nicht, sondern du meintest ob man solche Konstrukte selber erstellen kann.
 
moin


Ja so meinte ich das. Und angenommen hab ich das auch schon.

for, while, if, switch, ... sind ja auch Schlüsselwörter.


mfg
umbrasaxum
 
Wenn du dich ein bisschen mit assembler beschäftigen würdest könntest du for, switch und co. besser verstehen. Mit hat das einiges geholfen.
 
Zurück