Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed at ante vitae nulla vulputate elementum. Maecenas imperdiet malesuada lacinia. Donec sit amet aliquet urna. Nam sit amet eros dapibus, commodo ligula a, imperdiet mi. Fusce rhoncus eros in leo rutrum, at lobortis leo sodales. Quisque nibh tellus, rutrum placerat turpis ac, ullamcorper suscipit nisl. Nullam faucibus quam a leo imperdiet, vel blandit nibh iaculis. Duis efficitur ipsum eu eros fermentum, in volutpat erat tincidunt. Curabitur sit amet vulputate sem. Donec vel facilisis est. Morbi vitae mollis massa, sed maximus ex. Duis elit orci, scelerisque ut erat eu, tincidunt euismod erat.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed at ante vitae nulla vulputate elementum. Maecenas imperdiet malesuada lacinia. Donec sit amet aliquet urna. Nam sit amet eros dapibus, commodo ligula a, imperdiet mi. Fusce rhoncus eros in leo rutrum, at lobortis leo sodales. Quisque nibh tellus, rutrum placerat turpis ac, ullamcorper suscipit nisl. Nullam faucibus quam a leo imperdiet, vel blandit nibh iaculis. Duis efficitur ipsum eu eros fermentum, in volutpat erat tincidunt. Curabitur sit amet vulputate sem. Donec vel facilisis est. Morbi vitae mollis massa, sed maximus ex. Duis elit orci, scelerisque ut erat eu, tincidunt euismod erat.

Course Curriculum

  • 1

    Pointer Basics

  • 2

    Addresses and Indirection

    • What is the relationship between a pointer and an array (or string)?

    • Arrays, addresses and pointers

    • Multiple indirection

    • Multiple indirection with integers

    • Multiple Indirection with strings

    • Indirection and commandline args

    • Generic Pointers

    • Allocating memory

    • Malloc and sizeof

    • Functions that cause errors or warnings

    • Calloc

    • Free

    • Realloc

    • Pointer arithmetic

    • Calculating an array index

    • Pointers to structs

    • Data type alignment

    • Type alignment on boundaries

    • Type alignment and pointer arithmetic

    • Debugging C Programs

    • Debugging Multiple Indirection

    • Addresses and Indirection

  • 3

    Lists and data structures

    • Arrays and Lists

    • What is a linked list?

    • Singly linked lists

    • To free or not to free?

    • Doubly linked lists

    • Programming a doubly-linked List

    • Initializing a doubly-linked list

    • Implementing a doubly linked list

    • What is a queue?

    • Queues

    • What is a stack?

    • Stacks

    • Pushing and popping

    • Calculating the length of list

    • Copying a list

    • Removing an element from within a list

    • Adding an element into a list

    • Function pointers

    • Function pointer declarations

    • An array of function pointers

    • Lists and Data Structures

  • 4

    Common Pointer Problems

    • Why do pointers cause problems?

    • Deep and shallow copies

    • A deeper look at deep and shallow copies

    • Incorrect memory allocation

    • Casting pointers

    • Incorrect casts

    • Freeing already freed memory

    • Memory leaks

    • Using freed memory

    • Pointers out of scope

    • Dereferencing a null pointer

    • Common pointer problems

    • And finally...

About the instructor

Bheeej Paguirigan

What others have been saying about this course:

Use your Call To Action description to encourage students to sign up for your course

You may also be interested in...