In a linked list, a node is a fundamental building block that stores data and a reference to the next node in the list. Each node typically consists of two components: data, which holds the actual value or data associated with the node, and a next pointer, which stores the memory address (reference) of the next node in the sequence. The first node in a linked list is called the head node, which points to the first node in the list, while the last node in the list points to NULL or nullptr, indicating the end of the list. Adding a new node to a linked list involves adjusting the pointers of the existing nodes to maintain the proper sequence, and insertion can be performed at the beginning, end, or any position within the list. Similarly, removing a node from a linked list requires adjusting the pointers of the neighboring nodes to bridge the gap left by the deleted node, and deletion can be performed at the beginning, end, or any position within the list.