2 Code-Design-Fragen eines Anfängers (#include & int* c | int *c)



  • (Ich hoffe, das ist das ist das richtige Board.)

    1. Ich hab gelesen, das in Header-Dateien keine "Funktions-Definitionen reinkommen". (Ich meine sowas wie:

    int add(int v1, int v2) {
       return v1+v2;
    }
    

    Ist es trotzdem üblich, dass man sowas "auslagert" (richtiges Wort?), nur halt in einer .c-Datei, anstatt einer .h .
    Wenn man weiß, was die Funktion tut, muss man die ja nicht mehr lesen.
    Das hätte dann den Vorteil, dass man im Code wo die Funktion aufgerufen wird nicht so hin und her scrollen muss.

    2. Schreibt ihr bei der Deklaration von Zeigern

    int *pointer = &variable
    //oder
    int* pointer = &variable
    

    Ich finde die zweite Variante logischer weil "*pointer" ja keine Integer-Variable ist, sondern "pointer" ein Integer-Zeiger und weil und &variable mit "pointer" und nicht mit "*pointer" abruft aber variable mit "*pointer" "gelesen/angesprochen" wird.

    Allerdings wird die erste Variante häufig bei Tutorials verwendet.



  • obbba schrieb:

    ..und weil und &variable mit "pointer" und nicht mit "*pointer" abruft...

    ...und weil "&variable" mit "pointer" und nicht mit "*pointer" abgerufen...



  • Der Grund warum int* variable beliebter ist als int *variable lässt sich durch folgenden Code veranschaulichen:

    int* var1, var2 //var1 ist jetzt vom Typ int*, var2 ist vom Typ int
    int *var1, *var2 //jetzt sind var1 und var2 Zeiger auf int
    


  • Das tut man auch nicht.
    So:
    int* var1;
    int* var2;

    Für mich gehört der Stern zum Typ.


Anmelden zum Antworten