diff --git a/slides/exemples/table_list.c b/slides/exemples/table_list.c new file mode 100644 index 0000000000000000000000000000000000000000..1700f5ffb674b2fbec86317acce85d49a908c29a --- /dev/null +++ b/slides/exemples/table_list.c @@ -0,0 +1,41 @@ +#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); +}