fork download
  1. #include <stdio.h>
  2.  
  3. typedef struct{
  4. unsigned char ptr;
  5. int data;
  6. }myLL;
  7.  
  8.  
  9. int main(void) {
  10. myLL a[255];
  11. a[0].ptr = 1; // Нулевой элемент связного списка указывает на первый
  12. a[0].data = 666;// Хранит это число
  13.  
  14. a[1].ptr = 2; // Первый на второй
  15. a[1].data = 1488;// Хранит это число
  16.  
  17. a[2].ptr = 0; // Второй на нулевой (ну просто так мне захотелось)
  18. // Это будет особый, зацикленный связный список
  19. a[2].data = 123456;// Хранит это число
  20.  
  21.  
  22. myLL *aaa = a; // Указатель на первый элемент, который мы будем двигать
  23. printf("%i\n", aaa->data);
  24. aaa = a + aaa->ptr; // Идем к следующему
  25. printf("%i\n", aaa->data);
  26. aaa = a + aaa->ptr; // Идем к следующему
  27. printf("%i\n", aaa->data);
  28. aaa = a + aaa->ptr; // Идем к следующему
  29. printf("%i\n", aaa->data);
  30. aaa = a + aaa->ptr; // Идем к следующему
  31. printf("%i\n", aaa->data);
  32. aaa = a + aaa->ptr; // Идем к следующему
  33. printf("%i\n", aaa->data);
  34. aaa = a + aaa->ptr; // Идем к следующему
  35. printf("%i\n", aaa->data);
  36. aaa = a + aaa->ptr; // Идем к следующему
  37. printf("%i\n", aaa->data);
  38. aaa = a + aaa->ptr; // Идем к следующему
  39.  
  40. return 0;
  41. }
Success #stdin #stdout 0s 2248KB
stdin
Standard input is empty
stdout
666
1488
123456
666
1488
123456
666
1488