A linked list is a linear data structure, but it doesn't have elements in a continuous position. Instead, they are placed at random places in the memory. It is one of the simplest forms of data structure, which you can widely use to implement many other kinds of data structure. It has a very simple linear shape and contains basic nodes which save data and a point. In a linked list, you basically have three kinds of pointers. The first one you have is a header pointer that points to the start of the linked list. The second pointer is the tail that points at the last node of the list, and in the case of the linked list, the last node is a NULL. The third pointer you have is the one pointing to the next node or the previous node of the linked list.