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,
SandraHattu 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.