In particular, it sounds like you're forgetting to allocate memory.
Recall that the point (haha) of a pointer is that it points to memory. So, unless you have an existing block of memory to which you can tell the pointer to point, the pointer is pointing into nothingness, and a segmentation fault occurs.
Some solutions are:
Declare an array.
Memory does get allocated for arrays, so when you declare one, enough space is allocated to hold the array. So, unless you go out of bounds, you don't have any problem.
Use malloc (or new in C++) to allocate memory, and assign it to the pointer. Don't forget to free (or delete) it when you're done with it!