One other thing about pointers, you have to explicitly create them (usually usign new), and then explicitly delete them (using delete). If the pointer goes out of scope before memory is freed, then the block of memory corresponding to that pointer cannot be recovered until the program terminates.

Also, you might want to check out the thread on structs on this board.