008
19.10.2008, 16:07 Uhr
Lensflare
|
Zitat: |
Ich verstehe nicht ganz was du meinst, weiß nicht was du mit = überladen meinst.
|
Stichwort Operatorüberladung. Man kan damit zum Beispiel definieren, was passieren soll, wenn man zwei Objekte miteinander addiert oder ein char einem Objekt zuweist usw...
Naja du brauchst das in dem Fall nicht wirklich. Ich weiss nicht einmal ob es bei structs geht
Der Inhalt deines Stacks sind ja chars. Also musst du Platz für chars reservieren.
C++: |
(char *) malloc(n*(sizeof(char)));
|
Wie ao bereits gesagt hat, ohne * in sizeof
Ich nehme an, dass "depth" die maximale Anzahl der Elemente im Stack ist und dass "top" die Position des obersten Elements repräsentiert (beginnend mit 0).
Probier mal diese pushfunktion.
C++: |
void push(Stack *s, char c){ if(s->top == s->depth-1) //Wenn stack voll... return; //... nicht weiter machen
s->content++; //Nächste Stelle im Stack "einstellen" s->*content = c; //c auf die nächste Stelle schreiben s->top++; //Position der nächsten Stelle merken }
|
-- Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten. (Emerson Pugh Trost) Dieser Post wurde am 19.10.2008 um 16:14 Uhr von Lensflare editiert. |