title: Difference between declared string and allocated string
body: <pre><code>I.  char *str = "Stack";
  
  II. char *str = (char*) malloc(6);
      strcpy(str, "Stack");
  </code></pre>
  
  <p>What are the differences between above two approaches?</p>
  
  <p>Do they are same or something is different behind the curtains?</p>