C Programming: Linked List Data Structures

C Programming: Linked List Data Structures

Learn how to use Linked List Data Structures to make your data access easier and more flexible. (June 2021)

rate limit

Code not recognized.

About this course

Linked lists is a topic that many classes tend to avoid.  They are powerful constructs for embedded C programming.  Simple-, doubly-, and circular-linked lists are discussed in this class You will be able to use linked lists with and without dynamic memory allocation and know how to use them to add flexibility to your embedded projects.  You will use dynamic memory allocation with the malloc( ) and free( ) allocation and deallocation library functions.  You will also know how to create a linked list data structure without using any memory allocation that occurs during run time.  The advantages and disadvantages of both methods are discussed in detail.  The class includes two labs that show working examples of both types of linked lists.  You will use MPLABX® with the powerful built-in simulator and Microchip XC32 compiler to analyze the actual effect of coding implementations on variables and to analyze the linked list data structures.  You will learn these linked list topics from a non-hardware framework so that you can focus on learning the concepts instead of the microcontroller architecture.  The techniques taught in this class are universal ANSI-C concepts of the C programming language.  Before attending this class, attendees should be proficient with advanced concepts of C programming and have experience writing embedded C firmware.   

Curriculum59 min

  • Syllabus
  • Lab Files For Download
  • Linked Lists Overview
  • Class Agenda and Types of Linked Lists 10 min
  • Dynamically Allocating Memory for Linked Lists
  • Linked Lists with Dynamic Memory Allocation 7 min
  • Lab 1 19 min
  • Allocating Linked List Memory Before Runtime
  • Linked Lists without Dynamic Memory Allocation 5 min
  • Lab 2 18 min
  • Your Feedback
  • We need your feedback

About this course

Linked lists is a topic that many classes tend to avoid.  They are powerful constructs for embedded C programming.  Simple-, doubly-, and circular-linked lists are discussed in this class You will be able to use linked lists with and without dynamic memory allocation and know how to use them to add flexibility to your embedded projects.  You will use dynamic memory allocation with the malloc( ) and free( ) allocation and deallocation library functions.  You will also know how to create a linked list data structure without using any memory allocation that occurs during run time.  The advantages and disadvantages of both methods are discussed in detail.  The class includes two labs that show working examples of both types of linked lists.  You will use MPLABX® with the powerful built-in simulator and Microchip XC32 compiler to analyze the actual effect of coding implementations on variables and to analyze the linked list data structures.  You will learn these linked list topics from a non-hardware framework so that you can focus on learning the concepts instead of the microcontroller architecture.  The techniques taught in this class are universal ANSI-C concepts of the C programming language.  Before attending this class, attendees should be proficient with advanced concepts of C programming and have experience writing embedded C firmware.   

Curriculum59 min

  • Syllabus
  • Lab Files For Download
  • Linked Lists Overview
  • Class Agenda and Types of Linked Lists 10 min
  • Dynamically Allocating Memory for Linked Lists
  • Linked Lists with Dynamic Memory Allocation 7 min
  • Lab 1 19 min
  • Allocating Linked List Memory Before Runtime
  • Linked Lists without Dynamic Memory Allocation 5 min
  • Lab 2 18 min
  • Your Feedback
  • We need your feedback