++ has a higher precedence (meaning it binds to p tighter) than *
therefore *p++
is equivalent to *(p++)
.
Something similar to this is the difference between *p[]
and (*p)[]
.
[]
has a higher precedence than *
therefore *p[]
is equivalent to *(p[])
which makes a list a pointers
but something like (*p)[]
explicitly says to do whats in the brackets first making in this case a pointer to a list
(mind blowing)
solved I want to know something about pointers in C