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

Создание стека - код не компилируется - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибся в цикле for http://www.cyberforum.ru/cpp-beginners/thread1024517.html
Я хотел что бы программа выдала все числа от 0 до 9 включительно с шагом 0.1, программа не выдаёт ошибки но шаг делает всё равно 1. Где я ошибся? #include <iostream> using namespace std; int...
C++ после цикла while символьный массив обнуляется? Собственно сабж. Подскажите, в чем проблема int RemoveChar(char *_str, int _strt, int _amt) { int i = 0; #ifdef CHECKING while(*_str++) i++; <- После цикла массив пустой if(i... http://www.cyberforum.ru/cpp-beginners/thread1024494.html
C++ Написать функцию, которая рекурсивно вычисляет сумму чисел в заданном диапазоне
Написать функцию, которая рекурсивно вычисляет сумму чисел в заданном диапазоне.
Обработка матриц C++
Имеется код! void maxToArr(int ar,int matr, int nRow, int nCol){ int max=matr; for(int i=0;i<nRow;i++) for(int j=0; j<nCol; j++) if(max<matr){ ...
C++ Обращение к элементам массива используя указатель http://www.cyberforum.ru/cpp-beginners/thread1024445.html
Необходимо написать программу, выделив под массив динамически память. Обращаться к элементам массива необходимо используя указатель. #include <iostream> void main() { setlocale(LC_ALL,...
C++ Сортировка слиянием #include <iostream> #include <fstream> using namespace std; void Merge_Sort(int * a,int left, int right) { if (left < right) { int middle = (left + right)/2; подробнее

Показать сообщение отдельно
Brain_Dead
9 / 8 / 2
Регистрация: 25.09.2013
Сообщений: 35
02.12.2013, 09:18
Цитата Сообщение от Supernatural Посмотреть сообщение
1. Процедура Push принимает в параметрах указатель на указатель **top. Но при вызове из главного тела программы push принимает параметр &top. Читал про "амперсанд", но то получается ссылка.
C++
1
Stek *top
переменная top имеет тип Stek*. Соответственно, ссылка на неё имеет тип Stek**.

Цитата Сообщение от Supernatural Посмотреть сообщение
3. В цикле while top указывается без каких-либо знаков * &, как это понять. Ведь **top является указателем на указатель.
Да, является, но все указатели сами по себе - числа. Цикл выполняется, пока он не нуль. Нуль записан в самом первом элементе функцией first. Наткнувшись на него, цикл завершится.

Цитата Сообщение от Supernatural Посмотреть сообщение
*top=(*top)->p; зачем тут скобки и здесь всего лишь одна звездочка. Снова непонятка
В аргументах стоит Stek** top. - указатель на адрес последнего добавленного элемента. Нам нужен не указатель на адрес, имеющий тип Stek**, а сам адрес, имеющий тип Stek*. В него записывается адрес следующего элемента, который ниже.

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

P.S. Убери из main строчку cin >> " ", иначе у тебя код не заработает. Заголовки <stdio> и <tchar> тоже не нужны, их функции нигде не используются.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru