#include #include #include "list.h" list_t * list_init() { list_t *list = malloc(sizeof(list_t)); list->val = NULL; list->next = NULL; } list_el_t * list_add(list_el_t * head, void * val) { list_el_t * el = calloc(1,sizeof(list_el_t)); el->val = val; el->next = head; return el; } list_el_t * list_next(list_el_t * el) { return el->next; } void * list_getval(list_el_t * el) { return el->val; } int main() { int *val1; val1 = malloc(sizeof(int)); *val1 = 42; int *val2; val2 = malloc(sizeof(int)); *val2 = 43; list_t *list = list_init(); printf("%d\n",*val2); list_add(list, val1); list_add(list, val2); int * someint = (int*) list->val; printf("%d\n", *someint); }