본문 바로가기

컴퓨터 과학 & 영상처리 관련/C / C++

120610 linked list 테스트

첨엔 그냥 구조체로 연습..typedef가 더 편한데 몰랐음

 #include <stdio.h>

struct test{
        int num;
        struct test* next;
};

int main(void)
{
        struct test* te;
        struct test t;
        te = &t;
        te->num = 10;
        te->next = &t;
        printf("te->num = %d\n",te->num);
        printf("te->next->num = %d\n",te->next->num);

}

결과

te->num = 10
te->next->num = 10

 

두번째는 typedef 써서 좀 편하게 

#include <stdio.h>
#include <stdlib.h>

 

typedef struct test{
        int num;
        struct test* next;
}TEST;

 

TEST* create(int num)
{
struct test* temp = (struct test*)malloc(sizeof(struct test));
temp->num =num;
temp->next = NULL;

return temp;
}

 

void addNode(TEST* parent,int num)
{
TEST* temp = create(num);
parent->next = temp;

}


int main(void)
{
        TEST* start;
        TEST* print;
        start = create(10);
        addNode(start,20);

        for(print = start;print !=NULL; print = print->next)
                printf("%d\n",print->num);
}

결과

10

20

 

 

포인터를 모르면 c언어는 모르는거나 마찬가지 인듯

메모리 구조에 대해서 잘 몰랐을때는 자료구조로 배워도 잘 몰랐는데

이제는 그나마 조금 이해만 한 수준

시작이 반이니깐 더 공부를 하자