Advanced C Programming: Pointers
Master pointers, addresses and memory allocation in C
- Pointers and addresses
- Indirection and multiple indirection
- Generic pointers and casts
- Memory allocation and reallocation
- Pointer arithmetic
- Singly and doubly linked lists
- Queues and stacks
- Deep and shallow copying
- Common pointer errors
- You should understand at least the basics of C programming
To be an expert C programmer you need to master the use of pointers. This course explains pointers in real depth. It explains pointer variables, pointer arithmetic, indirection, memory allocation, how to create and maintain linked lists and how to use function pointers. In fact, by the time you finish this course, you will know pointers inside out. You will understand what they are, how they work and how to make sure that they don’t make your programs crash!
This is not a course for beginners. It is aimed at programmers who already have a good working knowledge of C programming and who need to take the next step in mastering C by gaining a deep understanding of pointers.
If you’ve struggled with pointers and can’t quite figure out what all those ‘arrow diagrams’ really mean or what exactly is the relationship between pointers and addresses, this is the course for you. In a series of short, tightly-targeted lessons, you will learn all about:
- computer memory and how pointers access it
- how memory is allocated
- why copying data using pointers can cause program errors
- why some pointers are ‘generic’
- what happens when you ‘cast’ pointers to specific types
- how to create singly and doubly linked lists
- how to use stacks and queues
- how to avoid memory leaks and other common problems
- …and much more.
The source code for all the example programs is provided, so if you need to try out my code you can load it and run it in your preferred C IDE or code editor.