Здравствуйте, frenchman, Вы писали:
F>Вот написал простейший стэк, но есть один баг :
F>при декрементировании указателя все работает OK, но если этого не сделать, то после вызова pop()
F>первый элемент выводится ноль, а дальше — вывод стэка сдвинут.
F>Я начинающий, но хочу во всем разобраться по-человечески....
Да-да-да! Надо разобраться по-человечески.
То, что ты написал — на "простейший стек" не тянет. И вообще непонятно, что же оно должно делать.
Начнём с того, что интерфейс стека должен быть примерно такой
void push(T elem); // T - тип элемента
void pop();
T top();
А у тебя — push(T* arr). Почему? Зачем? Фактически, твой push просто присваивает указателю sp адрес подмассива.