#include <stdio.h>
#include <stdlib.h>
typedef struct list {
int val;
struct list *next;
}List;
static List* list_new(int val);
void list_add(List **list, int val);
void printlist(List *head);
int main(){
List *l;
l = list_new(10);
list_add(&l, 12);
printlist(l);
}
static List* list_new(int val) {
List *list = (List*) malloc(sizeof(List));
list->val = val;
list->next = NULL;
return list;
}
void list_add(List **list, int val) {
for(; *list != NULL; list = &(*list)->next);
*list = list_new(val);
}
void printlist(List *list) {
while (list) {
printf("%d ", list->val);
list = list->next;
}
printf("\n");
}