title: What's the difference between a pointer, and a pointer variable?
body: <p>I know this is very basic but it is little bit confusing to me.<br>
  I've read:   </p>
  
  <blockquote>
    <p>a <strong>pointer</strong> is nothing more than an <strong>address</strong>, and a <strong>pointer variable</strong> is just a variable that can <strong>store an address</strong>.<br>
    When we store the address of a variable <code>i</code> in the pointer variable <code>p</code>, we say that <code>p</code> <strong>points to</strong> <code>i</code>.  </p>
  </blockquote>
  
  <pre><code>int i, *p = &amp;i;
  </code></pre>
  
  <p><code>p</code> points to <code>i</code>.</p>
  
  <p>To gain access to the object that a pointer points to, we use the <code>*</code> (indirection) operator.  </p>
  
  <blockquote>
    <p>If <code>p</code> <strong>is a pointer</strong> then <code>*p</code> represents the object to which <code>p</code> currently points.  </p>
  </blockquote>
  
  <p>Now I am confused that what should I call <code>p</code> --  <strong>pointer</strong> or <strong>pointer variable</strong>?  </p>
  
  <p>Additional: <strong><em>Is a pointer always the same as an address?</em></strong>  </p>