The selector expression (e.g. x.f
) does that:
Selectors automatically dereference pointers to structs. If
x
is a pointer to a struct,
x.y
is shorthand for(*x).y
; if the fieldy
is also a pointer to a struct,x.y.z
is
shorthand for(*(*x).y).z
, and so on. Ifx
contains an anonymous field of type*A
, where
A
is also a struct type,x.f
is a shortcut for(*x.A).f
.
The definition of the index expressions specifies that an array pointer may be indexed:
For a of pointer to array type:
a[x]
is shorthand for(*a)[x]