title: How is the value of an empty array determined in C
body: <p>Here is the code.</p>
  
  <pre><code>int main(int argc, char *argv[])
  {
      char name[5];
  
      printf("%s\n",name);
  
      system("PAUSE");
      return 1;
  }
  </code></pre>
  
  <p>The printf function outputs ©. Why does it use that character? In difference instances other characters are used. I'm trying to understand more about how memory works in C. </p>
  
  <p>Cheers :)</p>
  
  <p>EDIT - Thanks everyone. All your answers were very useful to me.</p>