0 голосов

Что такое стек?

Что такое стек в программировании?

спросил от Одаренный (1.4k баллов) 1 1 1 в категории Компьютеры и интернет

10 Ответы

0 голосов
ответил от Начинающий (324 баллов) 1
 
Лучший ответ

В программировании стек - это способ организации данных (в некоторых языках программирования - структура данных), в которой использован принцип "последний пришел - первый ушел".

Часто используется в динамических структурах, а также при написании компиляторов.

Для наглядного представления стека можно использовать колодец. Тот предмет, что положили в колодец последним - достанут первым, поскольку он будет снаружи и будет закрывать доступ к предметам под собой.

0 голосов
ответил от Супер Кандидат Наук (35.8k баллов) 3 4 4

Стек (стэк), это элемент или термин в программировании, дословный перевод с языка произошедшего данного слово означает "стопка"

Данный элемент в программировании используется для визуального отображения скажем строк, чисел или файлов в последовательности поступления, при котором первая отображаемая строка исчезает, в место него встает вторая, когда приходит новая строка, вставая в ряд последним.

Для наглядности обратите внимание, когда вы пишете ответы на вопросы с увеличение текста в ответе происходит именно такой порядок вытеснения первой строки и вместо нее встает вторая строка и так далее.

Для нас это уже как должное, но как вы понимаете, это серьезный термин в программировании.

0 голосов
ответил от Бакалавр (13.9k баллов) 3 3 4

Стек это структура данных, которая используется для хранения информации в случае приостановки обработки, чтобы в будущем продолжить с этого места, например рекурсивные функции или вызов подпрограммы, перед вызовом все данные записываются в стэк, и это может повторяться много раз потом, по окончанию очередной обработки,следует возврат - данные извлекаются.

Стэк представляет собой объект имеющий массив для хранения данных и как минимум два метода push - добавить в стэк и pop - извлечь из стэка.

Чем больше глубина вызова, тем больше элементов в стэке.

Стэк можно сравнить с работником, которому дают более срочную работу и он откладывает то что делал поверх предыдущих, а когда выполнил текущую, то приступает к последней отложенной, лежащей сверху.


image
0 голосов
ответил от Отличник (8.7k баллов) 3 3 3

Это такой тип данных который представляет из себя набор элементов "Последним пришёл — первым вышел". Сравнивают с какой либо стопкой чего нибудь, что нужно взять первую вещь в ней, чтобы взять следующую. Вот так

0 голосов
ответил от Супер Профессор (66.4k баллов) 3 4 4

Стек - это область памяти, выделенная системой для каких-то служебных операций. Например в языке программирования Бейсике в стеке находятся строки, куда нужно вернуться после оператора Return. Заносятся туда номера строк когда выполняется команда Gosub. Обычно стек размещают в конце выделенной для программы памяти. В ассемблере оператору Gosub соответствует команда Call, а команде Return команда Ret. Лично для меня это было открытием, но однажды я вычитал, что значения регистров 16-разрядного процесса тоже хранятся где-то в стеке.

0 голосов
ответил от Кандидат Наук (31.3k баллов) 3 3 4

Есть понятие стек вызовов в 1С. Это когда одна процедура вызывается из другой процедуры. Такие вызовы могут происходить много раз, при этом после отработки вызываемой процедуры происходит возврат в точку, откуда была вызвана эта процедура. Возможен вызов вложенных процедур, то есть из первой вызывается вторая, из второй третья и так может повторяться много раз. В реальных модулях 1С происходят вызовы до 15 процедур друг из друга.

0 голосов
ответил от Супер Кандидат Наук (37.2k баллов) 3 5 6

Слово "стек" берет своё начало от английского слова "stack", которое переводится как стопка.

В программировании под "стеком" понимается некий упорядоченный набор элементов, в котором удаление существующих элементов и размещение новых осуществляется с одного конца: так называемой вершины.

Вот как это выглядит в графическом отображении:


image
0 голосов
ответил от Одаренный (2.1k баллов) 2 3 3

Стек простым языком (для программирования) - это когда ты можешь класть в свою структуру условно говоря только наверх и доставать только сверху, то есть если ты положил в структуру объект А, а потом объект Б, то функция "достать" вернёт тебе сначала объект Б, а только потом А и достать А никак нельзя до того, как достанешь Б.

0 голосов
ответил от Супер Доктор Наук - (48.3k баллов) 3 3 4

От английского stack и произошло слово стек - стопка. Термин используемый в программировании, набор элементов по принципу LIFO. Типа контейнера, его еще сравнивают с обоймой пистолета, потому что принцип действия очень похож.

0 голосов
ответил от

Стек - от английского слова stack — стопка. Это такая конструкция, часто используемая в программировании, организация структуры данных, которая построена по методу доступа последним пришёл - и первым вышел.

Добро пожаловать на сайт Ответы Онлайн, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...