Тип данных стек

Тип данных стек (англ. Stack, в переводе стопка) представляет собой фрагмент оперативной памяти, выделенный для каждого потока данных.

Работа стека определяется принципом LIFO (англ. Last In, First Out, в переводе Последним зашел, первым вышел). Суть данного принципа в том, что последний добавленный в стек фрагмент памяти первым выведется из него.

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

Главным достоинством стека является высокая скорость выполнения кода, однако недостаток состоит в том, что при переполнении памяти, выделенной для стека объявленные переменные уже нельзя будет изменять и выполнение кода остановится. Размер стека задается при создании потока, и каждая переменная имеет свой максимальный размер памяти, который в первую очередь зависит от ее типа данных. Из-за чего необходимо заранее объявлять размер сложных типов данных (например, объектов). Также стек может удержать в памяти только локальные переменные, для глобальных следует использовать кучу.

Смотрите также

  • тип данных куча,
    который широко используется в программировании
  • сеть доставки контента CDN,
    которая ускоряет загрузку страниц веб-приложений
  • способ организации данных LIFO,
    который широко используется в программировании
  • способ организации данных FIFO,
    который широко используется в программировании