Anzeige:
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 16 bis 30 von 34

Thema: Array durchlaufen C

  1. #16
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Beiträge
    159
    Original geschrieben von wraith
    Woher hat er das?
    Zitat: The Practice of Programming (B.W Kernighan):

    Use a consistent indentation style and brace style.[...]Programmers have always argued about the layout of programs,but the specific style is much less important than its consistent application.Pick one style,use it consistently and don't waste time arguing.
    Naja, er hat vielleicht nie versucht aus seinem coding-style einen Standard zu machen, für sich selber sieht man es oft immer sehr locker ("ich mach es halt so, andere sollen es so machen wie sie wollen"), wenn man sich aber einen Namen auf einem Gebiet gemacht hat, man oft zitiert wird und wenn wie bei K&R das Buch auch noch zu einem absoluten Standardwerk wird, dann gibt es automatisch auch viele die sich diesen style aneignen und es entsteht ein "Standard". Unabhängig davon ob es der Verfasser ursprünglich wollte oder nicht.

    Wenn er es aus den Quelltexten der Bücher abgeschaut hat,dort verwendent Sie Tabs mit 4 Leerzeichen ,und ich dachte K&R hätten immer Recht .
    Da hast du recht, das ist ein Wiederspruch. Wobei man hier vielleicht noch mit dem Buchformat argumentieren kann.
    Tabs = 8 Zeichen ist ja schon irgendwo eine Faustregel...
    Wobei man natürlich bei 8er Tabs ziemlich schnell über den Bildschrimrand hinaus kommt, 4 ist da imho ein guter Kompromiss.

    Ja,das deckt sich mit meinem Stil.
    Da sind wir uns ja dann einig
    Überhaupt finde ich den gnu-style sehr konsistent und gut durchdacht.
    Wobei wie gesagt, wenn man schon alles klammert, dann sollte man sich an K&R orrientieren, denn sonst wird es schon etwas sehr groß..

  2. #17
    Registrierter Benutzer
    Registriert seit
    04.07.1999
    Ort
    Zürich
    Beiträge
    221
    Ich sage da nur: Gelobt sei das Tool indent :-)

    Ich schreibe die Programme nach meinem Stil und wenn sie jemandem nicht gefallen, dann lass ich sie durch indent durch und das Problem ist gelöst. :-)

    greets
    f0rtex
    Doctrína est fructus dulcis radícis amárae.

  3. #18
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    <flame>

    wie ich meine klammern setzte hat alles einen sinn:

    z.B. bei
    Code:
    for(;;)
    	{
    	cout << "bla" << endl; //los, fang noch nen flamewar an, weil ich kein \n benutze!!!
    	}
    -stehen die beiden klammern eine blockes untereinander, wodurch man gleich sieht, ob die anzahl stimmt und was zusammengehört
    -sie sind eingerückt, weil ein block gebraucht wird, um statt nur eimem befehl mehrere befehle abzuarbeiten - ein einzelner befehl wäre eingerückt - also rücke ich meine beiden klammern auch ein und mache nicht sowas:
    Code:
    for(;;)
    {
    	cout << "bla" << endl; //los, fang noch nen flamewar an, weil ich kein \n benutze!!!
    }
    außerdem sieht es so am besten aus :p

    </flame>

  4. #19
    Registrierter Benutzer
    Registriert seit
    19.04.2003
    Beiträge
    194
    Original geschrieben von BLUESCREEN3D
    Code:
    int felt[3][7]; //hier
    int i,j;
    
    for (i=0; i <= 2; i++) //hier
            {
            for(j=0; j<= 7;j++) //und hier
                    {
                    feld[i][j] = rand();
                    }
            }
    BTW: Die gescheiften Klammern sollte man auch setzen, wenn man nur einen Befehl hat und ein Block somit unnötig ist - ist einfach besserer Programmierstil weil übersichtlicher, konsequenter und fehlerunanfälliger (wenn man z.B. mal einen 2. Befehl einfügen will).
    warum gehst du bei der for Schleife mit der Variable j bis zu 7? würde hier nicht <= 6 gehören?

    mfG

    PS: wenn ich falsch, bitte erklären

  5. #20
    Registrierter Benutzer Avatar von tuxipuxi
    Registriert seit
    30.08.2002
    Beiträge
    667
    ja du hast recht.

  6. #21
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Ich hab auch schon sowas gesehen:
    Code:
    if(bedingung) {
            cout << "" ;
            cout <<< ""; }
    else
            i = M_PI;
    ich persönlich schreibe die öffnende Klammer immer in eine neue Zeile, die Klammern werden nicht mit eingerückt und wenn eingerückt wird, dann mit einem oder zwei Leerzeichen.

  7. #22
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    Original geschrieben von Silver
    warum gehst du bei der for Schleife mit der Variable j bis zu 7? würde hier nicht <= 6 gehören?
    ups - jetzt hab ich auch noch das falsche übernommen...

  8. #23
    Registrierter Benutzer Avatar von Berufspenner
    Registriert seit
    30.03.2002
    Ort
    Hamburg
    Beiträge
    567
    los, fang noch nen flamewar an, weil ich kein \n benutze!!!
    Hä? Wo würdest du denn das \n hinsetzten? "<< endl;" reicht doch auch

    Cu
    André
    C und C++

  9. #24
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    Original geschrieben von Berufspenner
    Hä? Wo würdest du denn das \n hinsetzten? "<< endl;" reicht doch auch
    deshalb flamewar: ob man nun endl oder \n benutzt:
    Code:
    cout << "bla" << endl;
    oder
    Code:
    cout << "bla\n";
    ich habe schon immer das erste benutzt, weil man da alle zeilenwechsel im quellcode schneller sieht



    edit: wo ich gerade deinen wohnort sehe - noch ein flamewar-thema:
    Code:
    char* home="Hamburg";
    schreibe ich auch anders:
    Code:
    char *home="Hamburg";
    weil es mir so irgendwie konsequenter erscheint - schließlich ist "home" der zeiger und nicht "char"
    Geändert von BLUESCREEN3D (05-08-2003 um 16:54 Uhr)

  10. #25
    Registrierter Benutzer Avatar von Berufspenner
    Registriert seit
    30.03.2002
    Ort
    Hamburg
    Beiträge
    567
    Original geschrieben von BLUESCREEN3D
    deshalb flamewar: ob man nun endl oder \n benutzt:
    Code:
    cout << "bla" << endl;
    oder
    Code:
    cout << "bla\n";
    ich habe schon immer das erste benutzt, weil man da alle zeilenwechsel im quellcode schneller sieht
    Ach so meintest du das. Ich benutzte zum terminieren einer und wechseln einer Zeile auch immer "endl".

    Cu
    André
    C und C++

  11. #26
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    jetzt haste mein edit übersehen *gg*

  12. #27
    Registrierter Benutzer Avatar von Berufspenner
    Registriert seit
    30.03.2002
    Ort
    Hamburg
    Beiträge
    567
    Original geschrieben von BLUESCREEN3D
    jetzt haste mein edit übersehen *gg*
    Wie auch, wenn ich selber grade was abschicke Die einfachste Lösung, um dem zweiten Problem aus dem Weg zu gehen ist wohl
    Code:
    char home[]="Hamburg";
    Cu
    André
    C und C++

  13. #28
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Beiträge
    159
    wollte nur mal kurz anmerken das ich endl auch für die "Standardlösung" unter C++ halte \n gehört schon eher zu C und kommt auch von da...

  14. #29
    Registrierter Benutzer
    Registriert seit
    19.04.2003
    Beiträge
    194
    Original geschrieben von BLUESCREEN3D
    edit: wo ich gerade deinen wohnort sehe - noch ein flamewar-thema:
    Code:
    char* home="Hamburg";
    schreibe ich auch anders:
    Code:
    char *home="Hamburg";
    weil es mir so irgendwie konsequenter erscheint - schließlich ist "home" der zeiger und nicht "char"
    Um ein wenig penibel zu sein : Eigentlich würde char* home="Hamburg" richtig sein, weil es ein Char-Pointer ist, welcher 4 Byte belegt nicht wie der normale 1 Byte!

    mfg

  15. #30
    Registrierter Benutzer
    Registriert seit
    24.06.2003
    Beiträge
    486
    Original geschrieben von Silver
    Um ein wenig penibel zu sein : Eigentlich würde char* home="Hamburg" richtig sein, weil es ein Char-Pointer ist, welcher 4 Byte belegt nicht wie der normale 1 Byte!
    Da gibt es wirklich kein falsch und richtig.
    In irgendeiner C oder C++ FAQ stand mal drin,daß C Programmierer den * an den Typ schreiben,und C++ Programmierer an die Variable (oder war es umgekehrt ^^,so egal ist das ich weiß es nicht mehr).
    Wer sich nicht entscheiden kann soll doch char*name,oder char * name schreiben.

    Außerdem wenn man ganz penibel ist,daß sind hier alle Varianten falsch ^^.
    Die Zeichenkette ist konstant,korrekt muß es also ein const char* sein.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •