fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct node {
  5. int val;
  6. struct node *next;
  7. } Node;
  8.  
  9. Node *head = NULL;
  10.  
  11. void insHead(int x){
  12. Node *p;
  13. p = (Node *)malloc(sizeof(Node));
  14. p->val = x;
  15. p->next = head; // 既存のリストを新しいノードの次に設定
  16. head = p; // 新しいノードをリストの先頭に設定
  17. }
  18.  
  19. void printL(){
  20. Node *p = head;
  21. while(p != NULL){
  22. printf("%d ", p->val);
  23. p = p->next;
  24. }
  25. printf("\n");
  26. }
  27.  
  28. int main(void){
  29. insHead(1);
  30. insHead(2);
  31. insHead(2);
  32. insHead(3);
  33. printL();
  34. return 0;
  35. }
  36.  
Success #stdin #stdout 0s 5268KB
stdin
Standard input is empty
stdout
3 2 2 1