<p>I know this is a really basic question, but I've just started with some basic C++ programming after coding a few projects with high-level languages. </p>

<p>Basically I have three questions:</p>

<ol>
<li>Why use pointers over normal variables?</li>
<li>When and where should I use pointers?</li>
<li>How do you use pointers with arrays?</li>
</ol>

Pointers are one way of getting an indirect reference to another variable.  Instead of holding the
value
of a variable, they tell you its
address
.  This is particularly useful when dealing with arrays, since using a pointer to the first element in an array (its address) you can quickly find the next element by incrementing the pointer (to the next address location).
The best explanation of pointers and pointer arithmetic that I've read is in K & R's
The C Programming Language
.  A good book for beginning learning C++ is
C++ Primer
.