Pointers are extremely useful. Perhaps you haven't studied them enough to realize their usefulness, but in time it will become apparent. Here are some small examples:
Code:
char player[] = "Player";
char computer[] = "Computer";
char neither[] ="Neither";
char * winner = neither;
//...play a game
if(a>b)
winner = player;
else
if(b>a)
winner = computer;
else
winner = neither;
//...more code
cout << winner << " wins the game." << endl;
In this example, a pointer was used to allow a single print statement as opposed to many. Thus pointers are great for keeping a "current selection" variable.
Code:
char str[] = "There are many uses for pointers.";
char search[] = "pointer";
char * found = strstr(str, search);
if( !found ){
cout << "Word \"" << search << "\" was not found." << endl;
} else {
int position = found - str;
cout << "\"" << search << "\" found, starting at position " << position << endl;
}
Here we made use of the fact that arrays store their contents in increasing addresses. Thus the length was found by subtracting the higher address from the base address.
Also, you can see that setting a pointer to NULL can signify that something was not found, an often used trick.
Pointers are faster to pass as parameters to functions than large stuctures. When you pass a large structure to a function, a replica is made, which takes time and memory. Had you passed a pointer to it, the function would've used that 4 byte address and and thus wouldn't have replicated the data.
Honestly, there are hundreds of uses for pointers, and I'm sure you'll realize that soon enough!
Hope that helps.