Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Зачем нужны стеки (STACK) ? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определение чётности числа http://www.cyberforum.ru/cpp-beginners/thread424426.html
создать программу,которая вводит число и определяет четное оно или нечетное на С++ !!! очень надо!! прошу!!! Именуйте темы осмысленно!
C++ Преобразовать IP-адрес и номер порта Нужно преобразовать IP-адрес и номер порта к сетевому порядку следования байтов, вывести на экран значения до и после преобразования в 16-ричном формате. Может кто делал, знает. http://www.cyberforum.ru/cpp-beginners/thread424421.html
C++ Математическая задача в С++
мат Задача помогите решить в С++ : s=cos(x) + (cos(x))/2 + ... + (cos(x)*n)/n^2 ; 0.2<=X<=0.8 ; n(max)= 20 ; х идет с шагом 0,1 ,а n с шагом 1 примерно решение должно выгледеть так : x=0.2 ...
массив числами фибоначи C++
Заполнить массив числами фибоначи (в которой каждое последующее число равно сумме двух предыдущих чисел (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765,...
C++ Перегрузка операторов http://www.cyberforum.ru/cpp-beginners/thread424400.html
Из всего начитанного я понял что, перегрузка операторов — это возможность назначать новый смысл операторам. Мы должны определить класс которому будет назначена перегрузка опрератора, и что нужно...
C++ Произвести табулирование функции Прошу, народ! Помогите написать программу в борланде (Borland c++) по рисунку (см. "Само задание"). Завтра экзамен... Вот вроде как начало(не факт, что правильное) #include <iostream.h> #include... подробнее

Показать сообщение отдельно
CJS
49 / 49 / 4
Регистрация: 17.07.2011
Сообщений: 379
08.01.2012, 16:51
Цитата Сообщение от GIGAbyte. Посмотреть сообщение
Добрый день, я уже 1,5 года учусь программировать на разных языках, в основном таких как
pascal, c++, php, и хочу в каждом научиться работать указателями, ссылками; При изучении я встретился с словом "STECK", я прочетал пару статей в интернете и представил что такое стек,
например тут:


Итак, что же такое структура данных Stack (Читается как Стэк) ? Чтобы было проще понять, представьте стопку книг. Если вы хотите положить книгу в стопку, то вы кладете ее наверх. А если хотите взять книгу, то сначала берете верхнюю. Вот стек делает то же самое.


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

Вобще это очень понятно когда на ассемблере программируют: у нас в регистрах лежат значения и мы входим в процедуру которая выполняет некоторые операторы ассемблера(мы так написали процедуру что там несколько операторов и сейчас ее вызвали). Эти операторы могут использовать те области памяти, в которых у нас лежат нужные значения и мы не хотим потерять те значения(а это даже не видно - они так работают что определенная команда по умолчанию пользуется той-то и той-то областью памяти). Для этого мы помещаем их в стек, а после выхода из процедуры возвращаем их оттуда. В ассемблере стек - это специальная область памяти для всего вышенаписанного. Вобщем там это очень удобно.
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru