Stack is a data structure. Think like a piles of dishes, you can only add more plates to the top, or remove the top plate (we call it LIFO: Last In, First Out), but in this case, the dishes are actually data in the computer memory.
In theory, we could add as many data to a stack as we want, but memory is finite, so we set a limit to the size of the “pile of data”. When you try to add data to a stack that is full, a stack overflow happens. Depending on the implementation of the stack, either the program will prevent more data from being added, or the data will be added to an unexpected location of memory, leading to all sorts of unexpected problems.
Latest Answers