void_Linked_List 구현 내용.
voidList.h
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | /** */ #include <stdio.h> #include <stdlib.h> /** */ struct _void_node{ char v_size; void* dats; struct _void_node* next; }; /** */ int addFront(struct _void_node**, void*, char); int delFtont(struct _void_node**, void*); | cs |
voidList.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | /** */ #include "voidList.h" /** */ int addFront(struct _void_node** lp, void* dats, char v_size){ int n = 0; struct _void_node* tmplp = NULL; printf("lp Test : %d\n", *lp); tmplp = (struct _void_node*)malloc(sizeof(struct _void_node)); if(tmplp == NULL){ return 1; } tmplp->v_size = v_size; tmplp->dats = NULL; tmplp->dats = malloc(sizeof(v_size)); if(tmplp->dats == NULL){ return 1; } for(n = 0; n < v_size; n++){ *(char*)(tmplp->dats+n) = *(char*)(dats+n); } tmplp->next = *lp; *lp = tmplp; return 0; } /** */ int delFtont(struct _void_node** lp, void* dats){ int n = 0; struct _void_node *tmplp=NULL; if(*lp==NULL){ printf("Error lp is NULL"); return 1; } tmplp = *lp; for(n=0;n<tmplp->v_size;n++){ *(char*)dats = *(char*)tmplp->dats; } *lp=(*lp)->next; free(tmplp->dats); free(tmplp); return 0; } | cs |
main.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #include <stdio.h> #include <stdlib.h> #include "voidList.h" int main() { struct _void_node* lp = NULL; int a=10,b=1; printf("Test %d\n", lp); addFront(&lp,&a,1); printf("Test %d\n", lp); addFront(&lp,&a,1); printf("Test %d\n", lp); system("pause"); delFtont(&lp,&b); printf("Test %d\n", lp); delFtont(&lp,&b); printf("Test %d\n", lp); system("pause"); return 0; } | cs |
이렇게 해서 문제 유무를 확인 해봤다.
free가 이상있는지는 모르겠다.
'연습' 카테고리의 다른 글
피타고라스 정리와 비례식을 이용하여 얻어낸 평면(사각형)의 회전 구현. (0) | 2015.06.17 |
---|---|
PAQ8o10t (0) | 2015.06.10 |
void_Linked_List 구현 -delFront 구현- (0) | 2015.06.06 |
void_Linked_List -연습 addFront 구현- (0) | 2015.06.05 |
void_linked_list -연습- (0) | 2015.06.03 |