fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct element
  5. {
  6. int value; /* der Wert des Elements */
  7. struct element *next; /* Zeiger auf das nächste Element */
  8. };
  9.  
  10.  
  11. void printliste(const struct element *e)
  12. {
  13. for( ; e != NULL ; e = e->next )
  14. {
  15. printf("%d\n", e->value);
  16. }
  17. }
  18.  
  19.  
  20. void append(struct element **lst, int value)
  21. {
  22. struct element *neuesElement;
  23.  
  24. /* Zeiger auf die Einfügeposition ermitteln, d.h. bis zum Ende laufen */
  25. while( *lst != NULL )
  26. {
  27. lst = &(*lst)->next;
  28. }
  29.  
  30. neuesElement = malloc(sizeof(*neuesElement)); /* erzeuge ein neues Element */
  31. neuesElement->value = value;
  32. neuesElement->next = NULL; /* Wichtig für das Erkennen des Listenendes */
  33.  
  34. *lst = neuesElement;
  35. }
  36.  
  37. int main()
  38. {
  39. struct element *Liste;
  40.  
  41. Liste = NULL; /* init. die Liste mit NULL = leere Liste */
  42. append(&Liste, 1); /* füge neues Element in die Liste ein */
  43. append(&Liste, 3); /* füge neues Element in die Liste ein */
  44. append(&Liste, 2); /* füge neues Element in die Liste ein */
  45.  
  46. printliste(Liste); /* zeige alle Elemente der Liste an */
  47.  
  48. return 0;
  49. }
  50.  
  51.  
Success #stdin #stdout 0s 5288KB
stdin
Standard input is empty
stdout
1
3
2