title: Passing C array as char* function parameter
body: <p>I've got some code I'm mantaining with the following variable declaration:</p>
  
  <pre><code>char tmpry[40];
  </code></pre>
  
  <p>It's being used with this function:</p>
  
  <pre><code>char *SomeFunction(char *tmpryP) {
     // Do stuff.
  }
  </code></pre>
  
  <p>The function call is:</p>
  
  <pre><code>SomeFunction(&amp;tmpry[0]);
  </code></pre>
  
  <p>I'm pretty damn sure that's just the same as:</p>
  
  <pre><code>SomeFunction(tmpry);
  </code></pre>
  
  <p>I've even checked that the char* pointer in SomeFunction ends up pointing to the same memory location as the array in both cases. </p>
  
  <p>My question is a sanity check as to whether the two function calls are identical (and therefore the original programmer was just being nasty)?</p>