[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SchmiTTT"chen's" Code



>    3. Du raeumst in Deinem Code die Moeglichkeit ein, Parameter/Optionen
>       zu uebergeben (argc/argv), fragst sie aber nicht ab bzw.
>       definierst sie nicht. Warum, wieso dann ueberhaupt diese
>       Argumente?
>       Wuerde ein "int main(void)" nicht auch gehen?

Einerseits Schaden sie ja auch nicht. Und ich glaube mitlerweile wird
empfohlen es immer zu schreiben. Der main Funktion werden nunmal zwei
Parameter übergeben, auch wenn man sie nicht abfragt.

>    4. Wie ich gelernt habe und zur Zeit immer noch lerne, gibt man mit
>       der 'printf'-Anweisung u. a. Zeichenketten aus. Und wie Matthias
>       festgestellt hat, auf dem Bildschirm.
>       Wird das BIOS auch dann geflasht, wenn ich aus Deinem Code diese
>       Anweisungen entferne? - Und wenn ja, warum dann ueberhaupt diese
>       Anweisung?
>       Und wenn nein, warum nicht?

Es sind genauer gesagt formatierte Zeichenketten. Diese können auch
Platzhalter enthalten wie %d, %lf.

Das man glaubt jeden Kram auf den Bildschirm ausgeben zu müssen mit
ASCII Tabellen etc. sehe ich vorallem immer wieder bei Neu anfängern
oder Windows Programmierern. Egal welche Programmiersprache.

>    5. Warum setzt Du in der for-Schleife die Variable "mx" nicht direkt
>       auf den Wert "1", anstatt den booleschen Wert zu nehmen?
>       In diesem Zusammenhang: Was wuerde passieren, wenn ich anstatt
> 
>          for (mx = true; mx <> 4194304; mx++)
> 
>       einfach nur
> 
>          for (mx = 1; mx <> 4194304; mx++)
> 
>       schreibe?

Hmm, hatte C überhaupt schon Boolesche Werte? Gabs das nicht erst mit
C++? Ich weiß es nicht mehr. Meine C tage sind zu lange her. Aber
unabhängig davon auch wenn es mit booleschen Werte funktionieren mag
sollte man hier kein true/false nutzen. Das das Programm generell
Sinnlos ist muss ich wohl nicht erwähnen, oder? Ich gehe nur auf deine
Fragen ein.

Ansonsten sollte man true/false nur bei Werten nutzen wo auch nur
true/false möglich ist. Die Schleife mit true zu beginnen ergibt zum
einen kein sinn aber auch für den nachherigen Leser des Codes mag solch
eine verdrehte logik nicht hilfreich sein.

>    6. Was macht bzw. wofuer dient die Variable "cp"?
>       Soweit ich das verstehe, wird ihr einmal in der 'for-Schleife der
>       Wert "0" zugewiesen und danach nochmals die "0". Ich kann sie auch
>       nicht in einer der 'printf'-Anweisungen finden.
>       Ist 'cp' irgendeine "innerbetriebliche" Variable des BIOS?

Nein ist es nicht. Es ist eine ganz normale Variable die auch nie
genutzt wird. Genauso wie "Bios", "bios" oder "BIOS". Anmerken möchte
ich hier auch noch das es zum guten Stil gehört nicht gleiche
Variablennamen zu nutzen nur mit anderer groß/kleinschreibung. Und
entweder man nutzt CamelCase oder snake_case für Variablen Namen. Ich
bevorzuge letzteres.


Reply to: