Question

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 ?

Was it helpful?

Solution

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)..

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top