정적 연결리스트 (static linked list)
#include <stdio.h>
typedef struct test
{
int iNum;
struct test *Next;
}TEST;
int main()
{
TEST A1={1, };
TEST A2={2, };
TEST A3={3, };
TEST A4={4, };
TEST A5={5, };
TEST A6={6, };
TEST *p;
p = &A1;
// A1.Next = &A2; p->&A1과 같다
p->Next=&A2;
A2.Next=&A3;
A3.Next=&A4;
A4.Next=&A5;
A5.Next=&A6;
printf("A1.iNum : %d\n", p->iNum);
printf("A2.iNum : %d\n", A1.Next->iNum);
printf("A3.iNum : %d\n", A2.Next->iNum);
printf("A4.iNum : %d\n", A3.Next->iNum);
printf("A5.iNum : %d\n", A4.Next->iNum);
printf("A5.iNum : %d\n\n", A5.Next->iNum);
printf("A1.iNum : %d\n", p->iNum);
printf("A2.iNum : %d\n", p->Next->iNum);
printf("A3.iNum : %d\n", p->Next->Next->iNum);
printf("A4.iNum : %d\n", p->Next->Next->Next->iNum);
printf("A5.iNum : %d\n", p->Next->Next->Next->Next->iNum);
printf("A6.iNum : %d\n\n", p->Next->Next->Next->Next->Next->iNum);
return 0;
}
위의 소스에서 A3.Next=&A4; 을 주석처리해서 삭제할경우 결과가 어떻게 나오는지 확인해보자
위의 소소에 printf를 너무 난발해서 보기가 싫다면 아래와 같이 고쳐서 실행해 보자.
typedef struct test
{
int iNum;
struct test *Next;
}TEST;
int main()
{
TEST A1={1, };
TEST A2={2, };
TEST A3={3, };
TEST A4={4, };
TEST A5={5, };
TEST A6={6, };
TEST *p;
p = &A1;
// A1.Next = &A2; p->&A1과 같다
p->Next=&A2;
A2.Next=&A3;
A3.Next=&A4;
A4.Next=&A5;
A5.Next=&A6;
printf("A1.iNum : %d\n", p->iNum);
printf("A2.iNum : %d\n", A1.Next->iNum);
printf("A3.iNum : %d\n", A2.Next->iNum);
printf("A4.iNum : %d\n", A3.Next->iNum);
printf("A5.iNum : %d\n", A4.Next->iNum);
printf("A5.iNum : %d\n\n", A5.Next->iNum);
printf("A1.iNum : %d\n", p->iNum);
printf("A2.iNum : %d\n", p->Next->iNum);
printf("A3.iNum : %d\n", p->Next->Next->iNum);
printf("A4.iNum : %d\n", p->Next->Next->Next->iNum);
printf("A5.iNum : %d\n", p->Next->Next->Next->Next->iNum);
printf("A6.iNum : %d\n\n", p->Next->Next->Next->Next->Next->iNum);
return 0;
}
위의 소스에서 A3.Next=&A4; 을 주석처리해서 삭제할경우 결과가 어떻게 나오는지 확인해보자
위의 소소에 printf를 너무 난발해서 보기가 싫다면 아래와 같이 고쳐서 실행해 보자.
'C언어 > 강의' 카테고리의 다른 글
2010년 12월 13일 월요일 (리다이렉션) (0) | 2010.12.13 |
---|---|
2010년 12월 03일 금요일 malloc() 함수 (정리중) (0) | 2010.12.03 |
2010년 11월 29일 월요일 구조체 사용자정의 (struct) & 구조체 초기화 (0) | 2010.11.29 |
2010년 11월 19일 금요일 (0) | 2010.11.19 |
2010년 11월 15일 월요일 (배열과 포인터) (0) | 2010.11.15 |