GRAMMATIK & PROGRAMMNIEREN



  • Hallo,

    Ich hab ne gramatikalische frage zum dem Zugriffsoperator "->"
    Soweit ich nun weiß dient der zugriffsoperator in der Programmiersprache C um auf ein elememt einer structur zuzugreifen.

    Beispiel:
    struct personson{
    name[50];
    }instanz;
    
    zugriff:
    instanz->name
    

    Spricht man in diesem FAll auch von einem Zugriff?

    if( current == NULL ) 
                { 
                   new->last = NULL; //new ergreift zugriff auf last?
    
                                     //Oder wird es anders formuliert
    
                }
    
                else
                {
                   new->last = current; 
                }
    
             current = new;
    

    Gruß hasso



  • hasso schrieb:

    Hallo,

    Ich hab ne gramatikalische frage zum dem Zugriffsoperator "->"

    du meinst eher eine Frage über die Synatx 😉

    hasso schrieb:

    Soweit ich nun weiß dient der zugriffsoperator in der Programmiersprache C um auf ein elememt einer structur zuzugreifen.

    Beispiel:
    struct personson{
    name[50];
    }instanz;
    
    zugriff:
    instanz->name
    

    nein. -> wird nur verwendet, wenn man einen Zeiger hat (und -> bezieht sich auf Elementen von unions).

    struct personson{
    name[50];
    };
    
    void bar(struct person *p)
    {
        printf("Name: %s\n", p->name);
    }
    
    void foo()
    {
        struct person p1;
        strcpy(p1.name, "Hasso");
        bar(&p1);
    }
    

    hasso schrieb:

    Spricht man in diesem FAll auch von einem Zugriff?

    Zugriff ist, wenn du auf etwas zugreifen kannst (lesend und/oder schreibend), d.h. du kanns es sehen und/oder verändern.

    hasso schrieb:

    new->last = NULL; //new ergreift zugriff auf last?
                      //Oder wird es anders formuliert
    

    erfinde keine eigene Semantik. Der -> Operator ermöglich den Zugruff eines Elementes eines Structs oder Unions, wenn das Objekt als Zeiger vorliegt. new->last = NULL; heißt also: Setze das 'last' Element des Objekts (Struct/Union) auf NULL, welches mittels 'new' gezeigt wird.

    :edit
    /[eE]num/Union/g



  • supertux schrieb:

    (und -> bezieht sich auf Elementen von enums).

    wie meinen?
    🙂



  • supertux schrieb:

    new->last = NULL; heißt also: Setze das 'last' Element des Objekts (Struct/Enum) auf NULL, welches mittels 'new' gezeigt wird.

    😮
    Geht das auch mit enum ?



  • Der Hundefänger schrieb:

    Geht das auch mit enum ?

    er meint bestimmt 'unions' nicht 'enums'
    🙂



  • fricky schrieb:

    Der Hundefänger schrieb:

    Geht das auch mit enum ?

    er meint bestimmt 'unions' nicht 'enums'
    🙂

    richtig. Hab zu dem Zeitpunkt Doku von einem enum geschrieben, deshalb ist mir das so gerutsch.



  • supertux schrieb:

    Hab zu dem Zeitpunkt Doku von einem enum geschrieben, deshalb ist mir das so gerutsch.

    du scheinst heute ziemlich durch'n wind zu sein.
    🙂



  • wieso denn das? Das ist mein einziger Fehler am diesen Tag, soweit ich mich erinnern kann.



  • supertux schrieb:

    wieso denn das?

    weil du auch viele syntaxfehler in der schriftlichen ausdrucksweise hast. kennt man sonst gar nicht von dir.
    🙂



  • fricky schrieb:

    supertux schrieb:

    wieso denn das?

    weil du auch viele syntaxfehler in der schriftlichen ausdrucksweise hast. kennt man sonst gar nicht von dir.
    🙂

    ach so. Deutsch ist nicht meine Muttersprache und obwohl ich Deutsch schon seit Jahren beherrsche, schleichen sich immer wider böse Fehler ein. Ich muss deswegen immer darauf achten, dass ich so fehlerlos wie möglich schreib. Aber wenn ich keine Zeit für (m)ein Autochecking habe, dann kommt sowas wie oben zustande.


Anmelden zum Antworten