In all but the smallest program, a running program is constantly calculating values, saving values, returning to a previously calculated value, getting values from input, and so on. These values are kept in little sections of main memory called variables.