Also habe ich diesen Code bereits bekam: http://pastebin.com/3wuFNWGAHinzufügen eines Knotens zu einer verknüpften Liste Stack in C
Und ich habe diese typedefs in einer .h-Datei bekam: http://pastebin.com/JTG9XHvW
ich meine Push-Funktion benötigen Hinzufügen eines Knotens zu my_stack durch Zuweisen von Speicher für den Knoten, Speichern der Daten (neues Element) in dem Knoten und Einfügen des Knotens an den Anfang des Stapels. Der Code läuft, aber wenn ich versuche, den Wert in my_stack-> top-> Daten zu drucken, nachdem ein neuer Wert auf den Stapel geschoben wurde, wird immer Null ausgegeben und nicht das Element, das ich angeblich auf den Stapel geschoben habe.
Für das Leben von mir kann ich nicht herausfinden, warum. Ich glaube nicht, dass ein Problem auftritt, wenn ich den neuen Knoten erstelle und den Wert in Daten speichere, also denke ich, dass es ein Problem gibt, wenn ich versuche, my_stack-> top-Punkt zum zuletzt hinzugefügten Knoten zu machen.
Dies ist auch mein erster Beitrag zu Stack Overflow. Ich hoffe, ich habe alles richtig gemacht.
Hier ist die Push-Funktion einen Wert auf den Stapel zu schieben:
void push(Stack *my_stack, int newElement) {
Node_s *newNode;
newNode = (Node_s *) malloc(sizeof(Node_s));
if(newNode == NULL) {
printf("Error: malloc failed in push\n");
exit(EXIT_FAILURE);
}
newNode->data = newElement;
newNode->next = my_stack->top;
my_stack->top = newNode;
}
Bitte fügen Sie die * relevanten * Teile Ihres Codes dem Körper des Fadens hinzu – amit
Ich fügte die Push-Funktion dem Körper hinzu. Ich glaube, das ist der relevante Teil für dieses Problem, aber ich bin mir nicht ganz sicher, was das Problem ist, so dass es schwierig ist, den relevanten Teil zu bestimmen. – FataOne
Es scheint nicht das Problem zu sein, aber beachte, dass du 'Größe' nicht änderst, wenn du ein Element drückst. Außerdem: Können Sie auch die Beispieleingabe + Ausgabe und die erwartete Ausgabe hinzufügen? – amit