Witam, czytam ksiazke "C programming - a modern approach v2". Trafilem na implementacje stosu ktora wydaje mi sie dziwna, czy moglby ktos rzucic okiem i zweryfikowac? Wklejam wyciety kawalek kodu:
#include <stdbool.h>
#define STACK_SIZE 100
int contents[STACK_SIZE];
int top = 0;
void push(int i)
{
contents[top++] = i;
}
int pop(void)
{
return contents[--top];
}
Funkcja push wydaje mi sie w porzadku - do bierzacego szczytu stosu dodajemy argument i, nastepnie zwiekszamy index.
Funkcja pop wyglada dziwnie, ze wzgledu na prefix - najpierw zmniejszamy index, a potem wyciagamy wartosc z tablicy. Czyli nie pobieramy wartosci ze szczytu stosu tylko z indexu 1 ponizej szczytu? Czy tak to powinno wygladac czy to blad w ksiazce?