A linked list is a dynamically created area where data can be stored. It contains certain algorithms for collecting data (alphabetically, numerically, etc.). This is like an array but an array is of a specific (fixed) amount and a linked list creates memory as it goes. A linked list consists of substructures, called nodes, that contain the data itself, and the pointer to the next node in the list. In a singly linked list, the first node only knows the address of the second node, and the second node only knows the address of the third node. This makes each node responsible for their area of data and the alternative, when data does not submit according to its rules of collection. Usually, the tail node is linked to a null pointer to confirm and define the end of the list.