Ваша проблема здесь
header = malloc(sizeof(struct mylist));
потому что mylist
- это переменная с типом struct CD_type_node*
, поэтому
header = malloc(sizeof(*mylist));
отлично, как есть
header = malloc(sizeof(struct CD_type_node));
но struct mylist
неверно: в нем не указывается ни тип, ни переменная, из которой можно извлечь тип.