Advanced C Programming: Pointers
Master pointers, addresses and memory allocation in C (70% off! reg $99)
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
Huw Collingbourne is the technology director at SapphireSteel Software (http://www.sapphiresteel.com/), developers of the “Sapphire” Ruby IDE for Visual Studio and the “Amethyst” IDE for the Adobe Flash Platform. He is author of The Book Of Ruby from No Starch Press.
Huw has been a programmer for more than 30 years. He is a well-known technology writer in the UK and teaches courses on a range of programming topics.
For over ten years Huw wrote the Delphi and Object Pascal programming column for PC Plus Magazine. He has also written numerous opinion and programming columns (including tutorials on C#, Java, Smalltalk, ActionScript and Ruby) for a number of computer magazines, such as Computer Shopper, Flash & Flex Developer’s Magazine, PC Pro, and PC Plus. He is the author of the free ebook The Little Book of Ruby and is the editor of the online computing magazine Bitwise (http://www.bitwisemag.com/).
In the 1980s Huw was a pop music journalist and interviewed most of the New Romantic stars, such as Duran Duran, Spandau Ballet, Adam Ant, Boy George, and Depeche Mode. He is now writing a series of New Romantic murder mysteries.
At various times Huw has been a magazine publisher, editor, and TV broadcaster. He has an MA in English from the University of Cambridge and holds a 2nd dan black belt in aikido, a martial art which he teaches in North Devon, UK (http://hartlandaikido.blogspot.co.uk/). The aikido comes in useful when trying (usually unsuccessfully) to keep his Pyrenean Mountain Dogs under some semblance of control.
Course Curriculum
-
PreviewWhat Is This Course About (2:44)
-
PreviewHow To Use This Course (3:14)
-
StartYour FREE C++Builder Starter Edition IDE
-
StartCourse Notes and FAQ
-
StartSource Code Archive
-
StartQuiz Questions
-
StartQuiz Answers
-
StartWhat Is A Pointer (3:39)
-
StartPointer variables (3:11)
-
StartIndirection (1:51)
-
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)
-
StartDebugging C Programs (11:17)
-
StartDebugging Multiple Indirection (8:18)
-
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)