maximo Fragestunde


  • Mod

    DirkB schrieb:

    ^Ich hatte das extra nicht zitiert, damit du das ohne Nebenwirkungen löschen kannst.^

    Sehr löblich, aber ich stehe zu solchen Dingen (natürlich nur, wenn es schon jemand gesehen hat und ich nicht erwarten kann, mich mit einer schnellen Löschung aus der Affäre ziehen zu können 😃 )



  • Gegenüber einem Anfänger sind die Bezeichner (nur a und b) aber sehr unglücklich gewählt.

    Auch wenn ich ein Anfänger bin, habe ich doch sofort, naja 3 Sekunden danach, gewusst was er meinte.

    Okay, ja, am Anfang habe ich echt übersehen, dass y = 0 ist, trotzdem hat mich das nur ein Stück weiter gebracht, aber nicht annähernd an das Ziel.

    Da habe ich was nicht mitgekriegt? 😋

    Letzte Frage, da ich einfach aufgebe und hoffe, dass ich das irgendwann in Zukunft kapiere diese Sachen zu kombinieren:
    Wieso macht man da das?
    y = i;

    Wenn ihr genauso frustrierend seid, dann habe ich was anderes, ganz leichtes, also für mich.
    In dem Buch ist es manchmal so manchmal so, deshalb hoffe auf eure Hilfe, weil ich mich vom Autor verarscht fühle.

    Ist das eine Definition?
    int var = 10;

    Ist das Initialisierung?
    int var;

    Ansonsten besten Dank für die mühevolle Hilfe!



  • // Ich geb auf. Bin zu blöd.


  • Mod

    Swordfish schrieb:

    maximo schrieb:

    Ist das eine Definition?
    int var = 10;

    Ist das Initialisierung?
    int var;

    Ersteres ist eine Definition (Deklaration mit gleichzeitiger Initialisierung), zweiteres eine reine Deklaration.

    Nein, das sind beides Definitionen. Die Trennung der Begriffe "Deklaration" und "Definition" hat nichts mit Initialisierung zu tun.

    extern int var;
    

    wäre eine Deklaration. Eine Deklaration ist eine reine Bekanntmachung eines Begriffs, ohne genaue Angabe, was genau dahinter steckt (wobei bei dem extern-Beispiel nicht viel fehlt: Das einzige was man nicht über var weiß ist, wo var lebt. Und wenn man mittels int var; das var definiert, dann ist die Antwort, wo es lebt, einfach "hier!"). Andere (bessere) Beispiele für Deklarationen sind:

    struct foo;
    
    void bar(int i);
    

    Definitionen geben hingegen genau die Eigenschaften eines Begriffs an. Beispiele für Definitionen, die zu den obigen Deklarationen passen, sind:

    struct foo
    {
      int i;
      double d;
    };
    
    void bar(int i)
    {
      printf("%i" ,i);
    }
    

    Bessere Erklärung, als ich das aus dem Stand kann:
    http://www.cprogramming.com/declare_vs_define.html

    for( /* init expression */ int i = 0;
         /* cond expression */ i < 10;
         /* loop expression */ ++i )
    {  // ------------------------------+
        std::cout << i << '\n';  //     +->  loop body
    }  // ------------------------------+
    

    C-Forum, nicht C++.



  • SeppJ schrieb:

    Die Trennung der Begriffe "Deklaration" und "Definition" hat nichts mit Initialisierung zu tun.

    Ja, natürlich recht du hast. Spät schon ist.

    SeppJ schrieb:

    C-Forum, nicht C++.

    Fixed.


  • Mod

    Swordfish schrieb:

    SeppJ schrieb:

    C-Forum, nicht C++.

    Fixed.

    Du hast noch mehr von der Art in deinem Beitrag, was nur in C++ geht. Und einiges, was nur in C99 geht.



  • fixed. finally. 😞



  • Hab jetzt nicht alle Antworten studiert, aber
    [code="c"]for (i = 1; i < 3; i++)[/code]tut mir sofort weh.

    EDIT:
    Da hat die Forensoftware wohl wiedermal verkackt. 😉


  • Mod

    Swordfish schrieb:

    fixed. finally. 😞

    Swordfish schrieb:

    // Ich geb auf. Bin zu blöd.

    Das war jetzt eigentlich nicht meine Absicht 😮 . Du hattest doch bloß ein paar couts und ein paar Definitionen im for-Kopf.



  • SeppJ: Danke für den Link, habs mir für später gespeichert, da ich auch noch nicht so richtig englisch kann, so durchmuggeln kann ich mich nur. 🙂

    Gut, danke!
    Und was bedeutet dann die Initialisierung?
    Damit ich das Thema im Kopf abschließen kann, weil das Wort spuckt rum und es will raus. 😉

    Sonst Forensoftware noch nicht fertig gefixt oder wie?

    Ah ja, bitte bleiben wir bei C, sonst wirds etwas schleierhaft.


  • Mod

    EOP schrieb:

    EDIT:
    Da hat die Forensoftware wohl wiedermal verkackt. 😉

    Nicht wirklich. Fett markieren in Codetags ist eben einfach nicht. It's not a bug, it's a missing feature. Und vermutlich auch eines, das meiner Einschätzung nach nicht so schnell kommen wird, da das sicherlich nicht ganz unkompliziert zu parsen ist. Ein Glück kommt die Zeichensequenz "[/" nicht in normalem C-Code vor (wohl aber Dinge wie [b] !). Du kannst es dir ja mal in der Forentechnik wünschen, vielleicht ist es ja weniger kompliziert, als ich vermute.



  • It's not a bug - it's a feature. 🙂



  • EOP schrieb:

    Hab jetzt nicht alle Antworten studiert, aber
    for (i = 1; i < 3; i++) tut mir sofort weh.

    Was stört dich denn an dem i=1 ?



  • SeppJ schrieb:

    Swordfish schrieb:

    // Ich geb auf. Bin zu blöd.

    Das war jetzt eigentlich nicht meine Absicht 😮 . Du hattest doch bloß ein paar couts und ein paar Definitionen im for-Kopf.

    Ja. Aber es war einfach zu spät und ich zu müde. Und bevor ich noch mehr Kacke bau ...



  • DirkB schrieb:

    EOP schrieb:

    Hab jetzt nicht alle Antworten studiert, aber
    for (i = 1; i < 3; i++) tut mir sofort weh.

    Was stört dich denn an dem i=1 ?

    Hmmm, war schön spät. Wenn das als Entschuldigung zählt.

    Bei mir fängt die Welt immer bei 0 an und nicht bei 1. Hab mich, um ehrlich zu sein, mit dem kompletten Code gar nicht beschäftigt.



  • EOP schrieb:

    Hmmm, war schön spät.

    Du bist in diesem Thread schon der Dritte, dem das nächtliche Arbeiten nicht gut tut.

    Mmmh...
    ... gibt es Untersuchungen, ob die Anzahl der Bugs mit der Kaffeemenge korreliert?
    ^(Bugs/Zeiteinheit mit der Kaffeemenge/Zeiteinheit)
    ^



  • Bugs = Alter * Uhrzeit / Promille²



  • EOP schrieb:

    Bugs = Alter * Uhrzeit / Promille²

    jenau andersrum.
    Bugs = Promille² / (Alter * Uhrzeit)



  • Ihr teilt beide durch 0! 😡



  • So einfach ist das mit Promille aber nicht:
    http://xkcd.com/323/


Anmelden zum Antworten