title: Const pointer pointing to non-const data
body: <p>Consider the following case 1:</p>
  <pre><code>const int n = 5;
  int* p = &amp;n; 
  </code></pre>
  <p>This is invalid, because <code>&amp;n</code> is of type <code>cont int*</code> and <code>p</code> is of type <code>int *</code> (type mismatch error).</p>
  <p>Now, consider this case 2:</p>
  <pre><code>int k = 4;
  int *const p = &amp;k; 
  </code></pre>
  <p>This case compiles successfully, without any error. Clearly, <code>p</code> is of type <code>int * const</code> and <code>&amp;k</code> is of type <code>int *</code>.  In this case, there is a type mismatch, but it is valid.</p>
  <p>Question : Why is the second case valid, even though there is a type mismatch?</p>