Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[742] Re:지송합니다. 한번더요 궁금해서..;;
조준회 [] 1680 읽음    2002-06-12 08:38
그건 싱글 링크드 리스트의 특성때문입니다.

즉, 싱글 링크드 리스는 무조건 한쪽방향으로만.이동이 가능합니다.
1->2->3->4->5 이런식으로 현재 노드는 다음노드를 가리키고 있게 됩니다.

그럼 현재 위치가 3번일때.. 2번 노드로 이동을 해야할 일이 있다면..
어떻게 이동을 해야 할까요?.

이때문에.. 무조건 첫번째 노드를 위치를 알고 있어야 합니다.
첫번째 노드의 포인터를 갖고 있어야만.. 2,3,4순으로 따라가면서..
(current = current->next이렇게)
원하는 노드를 찾아낼수 있습니다.

여기서 head는 그 첫번째 노드의 포인터입니다.


김경래 님이 쓰신 글 :
: : : : : : :
밑에서 답변 감사합니다. struct data {
     char name[20]; :
     struct data *next;
};


typedef : struct data PERSON;
typedef PERSON *LINK;
main()
{
   :   LINK head = NULL;
     LINK new =NULL; :
     LINK current = NULL;

   :   new = (LINK)malloc(sizeof(PERSON));
   :   new->next =head;
     head =new; :
     strcpy(new->name, "Abigail");
그럼 이상태에서 :
:
new->next=head에서 new에서 next로 링크를 해줬지 않습니까?
:
그런데 어짜피 next값에 head가 들어갈것인데 그냥
:
next=head 해주면 될것인데.. 왜 위에 처럼하는지 궁금합니다.
:
한번만 더 헬프 해주세요 ㅠ.ㅠ;;
:
감솨합니다.
:
즐거운 하루되시구요.
: :
:

+ -

관련 글 리스트
741 지송합니다. 한번더요 궁금해서..;; 김경래 1717 2002/06/11
742     Re:지송합니다. 한번더요 궁금해서..;; 조준회 1680 2002/06/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.