Question: I'm a programming student with two classes in C#, but I'm just taking my first class in C++, and thus I'm being exposed to pointers.

I know how they work, and the proper way to use them, but I wondered about some of the ways that professional programmers use pointers in their programs.

So how do you use pointers? Or do you? 

This will help me understand some practical applications for pointers, so thanks!

Answer: 
For staters, you use them in your [data structures](http://en.wikipedia.org/wiki/Data_structure), like linked list, etc. Anyplace you need dynamically allocated memory, that is, memory that you don't know the size of at compile-time, you will be using a [pointer](http://en.wikipedia.org/wiki/Pointer_(computing)).
If you have some time on your hands for reading a book, I would recommend reading [*The C Programming Language*](https://rads.stackoverflow.com/amzn/click/com/0131103628) which makes heavy use of pointers.

A simple example of a standard function:

```
/* strlen: return length of string s */
int strlen(char *s) {
    char *p = s;
    while (*p != '\0') p++;
    return p - s;
}

```