• Какие существуют способы передачи данных между подпрограммой и вызывающей ее программой

Ответы 1

  • Если речь идет о языках высокого уровня, то данные передаются:1) Через глобальные переменные.2) Через параметры подпрограммы.3) Через внешние устройства (например через файлы на диске). Глобальные переменные - программа и подпрограмма \"знают\" в какие переменные записываются исходные данные, а в какие результаты выполнения подпрограммы. Параметры подпрограммы - в параметрах подпрограммы можно передать исходные данные и получить через них результаты выполнения. Внешние устройства - теоретически, программа может исходные данные записывать в файл, а подпрограмма считывать данные из этого файла. Результаты выполнения можно передавать в обратном порядке. Если речь идет о языках низкого уровня или машинных кодах, то данные передаются:1) Через регистры процессора.2) Через выделенные ячейки оперативной памяти.3) Через стек. Регистры процессора - перед вызовом подпрограммы в заранее оговоренные регистры процессора записываются исходные данные. После выполнения, подпрограмма записывает результаты также в заранее оговоренные регистры. Выделенные ячейки ОЗУ - входные и результирующие данные записываются по заранее оговоренным адресам ОЗУ. Стек - можно сравнить с револьверным барабаном, данные по очереди \"впихиваются\" в стек, а затем в обратном порядке \"достаются\" из стека.
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years