Stworzenie funkcji ktora dodaje i usuwa liczbe ze stosu

0

Tresc zadania: Przygotuj funkcje push(stos, element), pop(stos, element), które odpowiednio pozwalają na umieszczenie na stosie stos i zdjęcie z niego elementu element w postaci liczby całkowitej, oraz funkcje empty(stos), print(stos), które pozwalają na uzyskanie informacji, czy stos jest pusty oraz wyświetlenie na standardowym wyjściu elementów znajdujących się na nim. Do tego dodaj funkcję inicjuj(stos), która w poprawny sposób zainicjuje pusty stos.

Szczerze nie mam juz zbytnio pomyslu jak odwolac sie do zmiennej ze struktury w mainie oraz dlaczego w funkcji pop nie wyszukuje mi nast_elem, pytaniem jest rowniez czy te funkcje z tresci zadania maja miec 2 argumenty czy moge to zrobic na sposob jaki to zrobilem.
Oto kod:
Nie wiem czemu nie pokazuje ,,gwiazdki" dlatego dopisze tam gdzie powinna byc

#include <stdio.h>
#include <stdlib.h>

typedef struct stos {
    unsigned int inf;
    struct stos* nast_elem; //gwiazda pomiedzy stos a nast_elem
} stos;
stos* top = NULL; //gwiazdka top

void push(int x)
{
    stos* element = malloc(sizeof(int)); //gwiazdka pomiedzy stos a element
    element->inf = x;
    element->nast_elem;
    top = element;
}
void pop()
{
    stos* element; //gwiazdka pomiedzy stos a element
    nast_elem = top;
    top->nast_elem;
    free(element);
}
void empty()
{
    top = NULL;
    printf("Stos jest pusty");
}

int main()
{
    printf("Podaj liczbe jaka chcesz dodac na stos");
    scanf("%d", &x);

    return 0;
}
1

Operujesz na globalnej strukturze? WTF? Tak, funkcje mają mieć po dwa lub lub jeden (jak pop) elementy - maja mieć referencję/wskaźnik do stosu, na którym działają.

1 użytkowników online, w tym zalogowanych: 0, gości: 1