#include <stdio.h> struct key_t { int k; }; struct value_t { int v; }; struct key_value_t { struct key_t key; struct value_t value; }; struct elem { struct key_value_t kv; struct elem *next; }; struct table { struct elem *head; }; struct value_t *sequential(struct table tab, struct key_t key) { struct elem *e = tab.head; while (e != NULL) { if (e->kv.key.k == key.k) { return &(e->kv.value); } e = e->next; } return NULL; } int main() { int w = 5; /*int *v = NULL;*/ int *v = &w; printf("%d\n", *v); }