Форум программистов, компьютерный форум 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 S=...(и ряд чисел c шагом n вывести ответы ) x=0.3 S=...(и ряд чисел c шагом n вывести ответы ) x=0.4 S=...(и ряд чисел c шагом n вывести ответы )
массив числами фибоначи C++
Заполнить массив числами фибоначи (в которой каждое последующее число равно сумме двух предыдущих чисел (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946)) добавить к элементам массива нечетных индексах заданое число m нужно вывести сам масив а потом решение !!
C++ Перегрузка операторов http://www.cyberforum.ru/cpp-beginners/thread424400.html
Из всего начитанного я понял что, перегрузка операторов — это возможность назначать новый смысл операторам. Мы должны определить класс которому будет назначена перегрузка опрератора, и что нужно использовать ключевое слово operator. Но я не могу найти нормальный синтаксис этого ключевого слова, объясните пожалуйста. Лучше всего на очень простеньком примере
C++ Произвести табулирование функции Прошу, народ! Помогите написать программу в борланде (Borland c++) по рисунку (см. "Само задание"). Завтра экзамен... Вот вроде как начало(не факт, что правильное) #include <iostream.h> #include <math.h> #include <conio.h> void main () { clrscr(); int i,j;float x,y,h; подробнее

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


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


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

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