иначе невозможно было бы работать с алгоритмами зависящими от внешних событий например. Ну как Вы представляете себе расчеты адресов массива компилятором, если он (массив) будет заполнятся при каждом нажатии кнопки прицепленной на выводе порта? Сама программа должна правильно положить элемент в память и правильно его оттуда достать.