title: Understanding the difference between different C pointer assignment
body: <p>I am trying to understand the difference between two type of pointer assignment. </p>
  
  <pre><code>uint8_t pInputByte[byteCount];
  uint8_t* pNextInputBytes = pInputByte;
  </code></pre>
  
  <p>In this case, since pInputByte[byteCount] is an array, does the second line write the address of this array into pNextInputByte? To clarify just calling array variable name without index return its address?</p>
  
  <p>My other question is how would the operation be different if we write it in the following way.</p>
  
  <pre><code>uint8_t pInputByte[byteCount];
  uint8_t* pNextInputBytes;
  pNextInputBytes = &amp;pInputByte;
  </code></pre>