#include < stdio.h >
typedef struct list { int data; struct list *next; // 구조체 자신을 포인터로 가르킨다. }LIST;
int main() { LIST a = {3,0}; LIST b = {4,0}; LIST c = {5,0}; LIST *p;
a.next = &b; b.next = &c;
for(p=&a; p!=0 ; p=p->next) { printf("%d->", p->data); } printf("NULL\n");
return 0; }
▶ &a ( a 의 주소 : a.next ) 에 &b ( b 의 주소 : 예를들어 2000 ) 를 넣고, &b ( b 의 주소 : b.next ) 에 &c ( c 의 주소 : 예를들어 3000 ) 을 넣어 서 구조체가 포인터로 서로 맞물려 있으며 이를 Linked List 라고 한다. 위에 배열로 나타낸 {3,0} 는 3은 data, 0은 주소에 들어가는 주소값이라고 보면 된다. printf() 는 각 주소에있는 data 값을 가져온 것이다.
| |