Stack - Stapelspeicher

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • STACK
    Was ist ein Stapelspeicher?
    Wie der Name es schon sagt werden alle Elemente auf einen Stapel gepackt.
    Einige Nützliche Informationen gibts hier
    Das ist doch unnötig
    Nein für kleine Prototypen ist es ganz nützlich, da man die Variablen vorher nicht Deklarieren muss.
    Zur einfachheit sind einige Funktionen hinzu gekommen womit sich der Stapel vereinfacht nutzten kann.
    Wieso 3 Stack Typen
    In der Grundidee wollte ich nur einen char Stack nutzten, aber mir viel auf das 3 Stapel mehr Platz bieten.
    Stapel1 ist nur für Zeichen (In Zeile 2 zu verändern)
    Stapel2 ist nur für Float (Gleitkommazahlen)
    Stapel3 ist nur für Integer, wobei man die einzelnen Chars auch in Integer konvertieren könnte.
    Nur 50 "Zellen" pro Stapel?
    Um mehr Zellen zu erhalten einfach in Zeile 3 das Limit erhöhen.
    WICHTIG
    Die Include ist nicht PAWNO kompatible da PAWNO einige Compiler einstellungen vorsieht wie ";" was in Quincy ein White Element ist.
    Um den Stack zunutzten bitte Quincy downloaden (http://www.compuphase.com/pawn/pawn.htm#DOWNLOAD_WIN)
    Functionen
    exa() Stack+1
    pop() Stack-1
    push(inhalt) Stack = inhalt
    erj(a,b) Tauscht inhalt von a und b
    conv(a,bool:b) convertiert a in FloatStack wenn b true ist ansonsten in den IntegerStack
    stackP() gibt das Aktuelle Stack element aus


    Alle Funktionen können auch vom FloatStack und IntegerStack genutzt werden.
    Dafür einfach ein i vor den Funktionsnamen hängen für Integerstack oder f


    Beispiel:

    main() {
    push "1"
    stackP
    conv 0
    wnl
    istackP
    }breadfish.de/wcf/attachment/119/


    Einmal editiert, zuletzt von DMA ()