title: Why can you assign an array to a char pointer?
body: <p>Usually when you declare a pointer (such as an int) you'd have to assign a memory address to it:</p>
  
  <pre><code>int value = 123;
  int* p = &amp;value;
  </code></pre>
  
  <p>When you create a char pointer, you can assign a char array to it without the need of including an address:</p>
  
  <pre><code>char* c = "Char Array";
  </code></pre>
  
  <p>How does this work? Does it allocate memory and point to that? Why can't other type pointers do the same thing? </p>