Advanced C Programming: Pointers - backup
Master pointers, addresses and memory allocation in C
Watch Promo
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 and why copying data using pointers can cause program errors; why some pointers are ‘generic’ and what happens when you ‘cast’ them to specific types; how to create singly and doubly linked lists, 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 favourite C IDE or code editor.
- 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
Your Instructor
Course Curriculum
-
PreviewWhat is the relationship between a pointer and an array (3:46)
-
StartHow to display pointer values
-
PreviewArrays addresses and pointers (5:50)
-
StartMultiple Indirection (1:41)
-
StartMultiple indirection with integers (8:00)
-
StartMultiple indirection with strings (4:57)
-
StartIndirection and commandline args (3:20)
-
StartGeneric pointers (4:44)
-
StartAllocating memory (5:40)
-
Startmalloc and sizeof (4:44)
-
StartFunctions that cause errors or warnings
-
Startcalloc (4:22)
-
StartFree (3:07)
-
Startrealloc (4:03)
-
StartPointer arithmetic (5:03)
-
StartCalculating an array index (3:37)
-
StartPointers to structs (6:47)
-
StartData type alignment (8:45)
-
StartType Alignment On Boundaries (2:06)
-
StartType alignment and pointer arithmetic (2:16)
-
StartArrays And Lists (1:27)
-
StartWhat is a linked list (3:40)
-
StartSingly linked lists (4:55)
-
StartTo Free Or Not To Free (0:45)
-
StartDoubly Linked Lists (2:10)
-
StartProgramming A Doubly Linked List (3:20)
-
StartInitializing a doubly linked list (1:10)
-
StartImplementing a doubly linked list (10:09)
-
StartWhat Is A Queue (2:35)
-
StartQueues (4:23)
-
StartWhat Is A Stack (2:10)
-
StartStacks (2:27)
-
StartPushing and popping (5:05)
-
StartCalculating the length of a list (3:15)
-
StartCopying a list (4:02)
-
StartRemoving an element from within a list (6:17)
-
StartAdding an element into a list (4:49)
-
StartFunction Pointers (1:04)
-
StartFunction pointer declarations (3:38)
-
StartAn array of function pointers (3:32)