В основном в оперативной памяти. Все переменые хранятся в оперативной памяти, причём если в программе нет создания динамической памяти, то ос заранее знает сколько надо выделить оперативной памяти. Но так же программа может получать данные из сети или диска
в оперативной памяти