Frage

In a C program, when i define a struct.

under which circumstances would i use "->" and under which "." ?

for example

typedef struct foo foo;

struct foo{

  double bar;
  double bar2;
}

foo barbar;

when would I use barbar.bar and when would i use barbar->bar ?

War es hilfreich?

Lösung

Left of -> should be pointer type, while normal variables/instances for ..

  • If you have a struct foo myFoo, you should use myFoo. or (&myFoo)->.
  • If you have a struct foo *myFoo, you should use myFoo-> or (*myFoo)..

Andere Tipps

Use a -> for a pointer to a struct as it dereferences the pointer, use a . for a struct

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top