리스트 사용

OS 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); } }

'OS' 카테고리의 다른 글

strlcpy  (1) 2013.10.04
pintos project#2  (0) 2013.10.03
스레드 / 프로세스 차이점  (0) 2013.10.02
PCB(Process Control Block)  (0) 2013.10.02
C소스의 전체 컴파일 과정  (0) 2013.09.08
Posted by bogus919
,