//requires C99
#define ITERATE_LIST(n, list) \
for(Node *n = (list)->head; n; n = n->next)
...
ITERATE_LIST(n, list)
{
printf("node value: %s\n", n->value);
}