Это очень в зависимости от платформы и даже в зависимости от приложения.
Код, публикуемый Vino, работает только в целях, где параметры передаются в стек, а локальные переменные выделяются из стека в указанном порядке. Многие компиляторы назначают фиксированные адреса памяти параметрам или передают параметры в регистрах. Как правило, передача параметров в стек является одним из наименее эффективных способов ввода данных в функцию и из нее.
Посмотрите на разборку вашего скомпилированного приложения и посмотрите, какой код генерирует компилятор. Если ваша цель имеет собственные команды манипулирования стеком (такие как PUSH и POP), которые использует компилятор, тогда в техническом описании / справочном руководстве по ЦП будет указано, в каком направлении растет стек. Тем не менее, компилятор может решить реализовать свой собственный стек, и в этом случае вам придется заняться копанием.
Или прочитайте указатель стека, поместите что-нибудь в стек и снова прочитайте указатель стека. Сравните результаты первого и второго чтения, чтобы определить направление, в котором перемещается указатель.
Для дальнейшего использования: если вы включите некоторые подробности о вашей целевой архитектуре (встроенный ПК, Linux, Windows, GCC, VC, Watcom, бла-бла-бла), вы получите более значимые ответы.