OS

리스트 사용

bogus919 2013. 9. 10. 14:09
if( strcmp( token[0], "create" ) == 0 ){ if( strcmp( token[1], "list" ) == 0 ){ //메모리 할당후, 리스트 포인터에 저장 mylist[list_count++] = (struct list*)malloc(sizeof(struct list)); //리스트의 노드를 생성할때는 //노드 포인터를 만든후, 메모리 할당해줌 //따로 element나 bar를 만들어줄 필요가 없다 struct node *node; node = (struct node*) malloc (sizeof(struct node)); list_init(&mylist); list_push_back(&mylist, &node1->elem); list_push_back(&mylist, &node2->elem); list_push_back(&mylist, &node3->elem); printf("list size : %lu\n", list_size(&mylist) ); //반복문으로 노드 하나씩 접근 struct list_elem *e; for(e = list_begin(&mylist); e != list_end(&mylist); e = list_next(e)){ struct node *n = list_entry(e, struct node, elem); printf("%d\n", n->data); } }