DOT und ->



  • Hallo liebes Forum,

    ich habe die undankbare Aufgabe an einem fertigen Skript Modifikationen vornehmen zu müssen und bin schon ewig aus C raus. Deswegen hoffe ich, ihr vergibt mir meine dumme Frage...

    Folgende Syntax bereitet mir Kopfschmerzen und ich wollte daher nachfragen, ob mir jemand sagen kann, wofür es steht. Das Skript läuft unter Linux:

    if (DOT(pict_get_cached_dir(p,x,y),p->view.vdir) >= 0.0) {
    pict_get_vangle(p,x,y,p->view.vdir,p->view.vup,&phi2);}
    

    Ich kenne "DOT" nicht und auch nicht das "->".

    Vielen Dank,
    Sandra



  • ergy1983 schrieb:

    Hallo liebes Forum,

    ich habe die undankbare Aufgabe an einem fertigen Skript Modifikationen vornehmen zu müssen und bin schon ewig aus C raus. Deswegen hoffe ich, ihr vergibt mir meine dumme Frage...

    Folgende Syntax bereitet mir Kopfschmerzen und ich wollte daher nachfragen, ob mir jemand sagen kann, wofür es steht. Das Skript läuft unter Linux:

    if (DOT(pict_get_cached_dir(p,x,y),p->view.vdir) >= 0.0) {
    pict_get_vangle(p,x,y,p->view.vdir,p->view.vup,&phi2);}
    

    Ich kenne "DOT" nicht und auch nicht das "->".

    Vielen Dank,
    Sandra

    Hattu eine Struktur

    struct stru {
      int a;
      int b;
    };
    

    und eine solches Objekt und einen Zeiger drauf

    struct stru sobj;
    struct stru* psobj=&sobj;
    

    , kannstu mit . auf objektattribute zugreufen

    sobj.a=17;
    

    und mit -> auf objektattribute, wo du statt des objektes nur den Zeiger drauf hast

    psobj->a=17;//selber effekt wie oben
    

    für DOT such nach

    #define DOT
    


  • Wenn p ein Zeiger auf eine Struktur ist, dann kann man mit dem Operator -> auf die Strukturelemente zugreifen. Im Gegensatz zum Operator . den man benutzt wenn man die Struktur selbst hat (nicht einen Zeiger darauf).

    DOT ist nicht Standard C. Von der Schreibweise scheint es ein Makro zu sein. Mehr kann ich nicht sagen.


Anmelden zum Antworten