title: What does the notation (((nodeptr) (bodyptr)) -> type) mean in C?
body: <p>I came across a piece of code that looks like this, where nodeptr and bodyptr are pointers to a struct, and type is a member of the struct. </p>
  
  <pre><code>#define Type(x) (((nodeptr) (x))-&gt;type)
  </code></pre>
  
  <p>What does it mean to have two pointers next to each other in brackets? I get that the -> notation  gets the member of the struct, but am not sure about the first part of the line. I'm fairly new to C and am trying to get my head around pointers!</p>