Na co wskazuje wskaźnik stosu?

0

Witam.
Pytanie tak jak w temacie. Na co w końcu on wskazuje?
Jedni mówią że na ostatni element stosu, inni zaś że na pierwszy wolny element na stosie. Już się w tym pogubiłem.

1

Zawsze pokazuje na wierzchołek stosu, czyli na twoje będzie to pierwszy, wolny element.

1
+------+
             <---- SP
+------+
 DATA
+------+
 DATA
+------+
0

Można tak, a można siak. Zależy jaki stos masz na myśli.

Jeśli mowa o stosie w sensie architektury procesorów x86, to instrukcja push zmniejsza rejestr wskaźnika stosu i zapisuje wartość pod adresem wskazywanym przez rejestr.
Instrukcja pop pobiera wartość spod adresu wskazywanego przez rejestr i zwiększa wartość rejestru.
Czyli „wskaźnik stosu” wskazuje na ostatni element (nie na puste miejsce), z tym udziwnieniem że stos jest do góry nogami (rośnie w dół).

Jeśli mowa o jakiejś klasie zaimplementowanej w C++ to może być różnie.

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