fork(1) download
  1. #include <stdio.h>
  2.  
  3.  
  4. struct entry
  5. {
  6. int value;
  7. struct entry *next;
  8. };
  9.  
  10.  
  11. void insertEntry ( struct entry *newEntry, struct entry *EntryNo ){
  12.  
  13. (*newEntry).next = (*EntryNo).next;
  14. (*EntryNo).next = newEntry;
  15. }
  16.  
  17.  
  18. int main (){
  19. struct entry n1, n2, n3, n4, newEntry;
  20.  
  21. struct entry *listPointer = &n1; // with this pointer we mark the start of the list
  22. n1.value = 100;
  23. n1.next = &n2;
  24. n2.value = 200;
  25. n2.next = &n3;
  26. n3.value = 300;
  27. n3.next = &n4;
  28. n4.value = 400;
  29. n4.next = (struct entry *) 0; // we pinpoint that n4 will be the last entry of our list
  30.  
  31. newEntry.value = 340;
  32.  
  33. printf("The list before adding a new entry:\n");
  34. while ( listPointer != (struct entry*) 0 ){
  35. printf("%i\n", listPointer->value );
  36. listPointer = listPointer->next;
  37. }
  38. listPointer = &n1;
  39.  
  40. insertEntry ( &newEntry, &n3 );
  41.  
  42. printf("The list after adding a new entry:\n");
  43. while ( listPointer != (struct entry*) 0 ){
  44. printf("%i\n", listPointer->value );
  45. listPointer = listPointer->next;
  46. }
  47.  
  48. return 0;
  49. }
Success #stdin #stdout 0s 2052KB
stdin
Standard input is empty
stdout
The list before adding a new entry:
100
200
300
400
The list after adding a new entry:
100
200
300
340
400