Lesson 6 - Linked lists in the C language
In the previous lesson, Dynamic arrays (vectors) in the C language, we created a dynamic array (vector). That is the first data structure in which we can store elements without having to specify its size first. As we mentioned, the advantage of the vector is a random access to its elements. And its disadvantage is the impossibility of inserting elements in the middle of the vector, as well as (even though it's not significant) memory and time demands associated with maintaining the free space in the array for additional elements.
In today's C tutorial, we're going to create a so-called linked list. It's a data structure that's used to store elements whose number we usually don't know in advance. We won't use an array in this case at all. The individual elements of the linked list are stored randomly in memory (they are no longer behind each other) and the consecutive elements point to each other. We can imagine this as a chain, when the 1st element points to the second, the second to the third, and so on.
Let's see how several numbers stored in an array look like:

When we put the same elements in a linked list, we can imagine the situation in the memory like this:
...End of the preview...
Continue further
You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.
Limited offer: Learn all knowledge and save money
This article is licensed: Premium, by buying this article, you agree with the terms of use.
- Unlimited and permanent access to individual lessons.
- High quality IT knowledge.
- Skills to help you get your dream and well-paid job.
Article description
Requested article covers this content:
In this tutorial, we'll program Linked list which, similarly to vectors, is unlimited in capacity but has other advantages and also disadvantages.
You gain credits by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.