Quote (froex)
Если мне не изменяет память, то массивы переменной длины ввели именно в С99.
Quote (froex)
В С89 ещё не было структур вроде, это тоже усложнит задачу с организацией своего массива, а то можно было бы сделать массив массивов и переопределить вторые скобки...
Пишите еще.
Quote (froex)
У меня есть совет - использовать минимум С99. Где же это понадобилось динозавров копать? Единственное, что на ум пришло - старые контроллеры.
C99 несовместим с C++ (в отличие от C89, он же ANSI C), из-за чего не поддерживается некоторыми компиляторами. Поэтому часто используется именно C89.
Pesets
Quote
Стек (англ. stack — стопка) — структура данных, в которой доступ к элементам организован по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»). Чаще всего принцип работы стека сравнивают со стопкой тарелок: чтобы взять вторую сверху, нужно снять верхнюю.
Добавление элемента, называемое также проталкиванием (push), возможно только в вершину стека (добавленный элемент становится первым сверху). Удаление элемента, называемое также выталкиванием (pop), тоже возможно только из вершины стека, при этом второй сверху элемент становится верхним.
http://ru.wikipedia.org/wiki/Стек
Не понимаю, в чем проблема. Помещаешь в цикле for в стек все элементы массива, а затем - их количество. Ну и при извлечении наоборот - извлекаешь количество элементов и после этого сами элементы (в обратном порядке), опять же в цикле. Какая куча? Какой alloca? Какой C99?!
З.Ы. Керниган и Ричи "Язык программирования Си" - хороший учебник по C для начинающих.