rendered paste body#include <stdio.h>
typedef struct _list_t
{
struct _list_t *next;
int data;
} list_t;
void reverse(list_t *l)
{
list_t *tmp = NULL, *prev= NULL;
list_t *next = l;
do {
tmp = next->next;
next->next = prev;
prev = next;
next = tmp;
} while(tmp);
}
void print_list(list_t *l)
{
while(l) {
printf("data %d\n", l->data);
l = l->next;
}
}
int main() {
list_t list[3];
list[0].data = 0;
list[0].next = &list[1];
list[1].data = 1;
list[1].next = &list[2];
list[2].data = 2;
list[2].next = NULL;
print_list(list);
reverse(list);
print_list(&list[2]);
return 0;
}