title: char array declaration in C
body: <p>I have been reading C book by K&amp;R. I came across this words</p>
  
  <p>Character arrays are a special case of initialization; a string may be used instead of the braces and commas notation:</p>
  
  <pre><code>char pattern = "ould";
  </code></pre>
  
  <p>is a shorthand for the longer but equivalent</p>
  
  <pre><code>char pattern[] = { 'o', 'u', 'l', 'd', '\0' };
  </code></pre>
  
  <p>In this case, the array size is five (four characters plus the terminating '\0').</p>
  
  <p>I coded a simple program to test it as</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  int main()
  {
      char c= "Hello";
      printf("%s",c);
      return 0;
  }
  </code></pre>
  
  <p>According to that book there should be no error but it returns an error</p>
  
  <pre><code>`cannot convert char * to char` 
  </code></pre>
  
  <p>As per my previous knowledge of arrays,the array statement should be like <code>char *c="Hello";</code>
    Can you explain the meaning of the words in that book please. Did i Misunderstand the meaning of that words?? </p>