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

C/C++ Q/A
[1311] 감사합니다 ^^ (냉무)
또치 [] 1363 읽음    2002-10-04 12:41
남병철.레조 님이 쓰신 글 :
:
: 안녕하세요? 레조입니다.
:
: -> 든 . 이든 모두 내부 멤버를 가리키기 위한 방법입니다.
: 구조체를 보면 next는 person의 포인터이겠지요?
: 즉 new->next = head;은 head의 포인터를 next에 넣겠다는 것입니다.
: 그럼 head와 new->next는 같은 포인터를 공유하게되겠지요.
: 그이후에 head = new; 이렇게하면 head의 포인터는 지워지고 new의 포인터가
: 들어가겠네요.
: 즉, new == new->next == head가 되네요.
: 보통 메모리를 잡아서 사용하므로 head가 new가 되어도 메모리 상에 new->next(=head)
: 가 여전히 남아있고 또 가리키고도 있으니 head는 링크드리스트상 이동을 의미하겠네요.
: 물론 여기서는 어디서있다가 new로 이동한 경우가 되겠네요.
:
: malloc 또는 new 연산자를 이용해서 메모리를 잡아놓고 링크(포인터)를 잃어버리면
: 그 프로그램이 살아있는한 그 메모리 영역은 미아가 되어버립니다.
: (포인터 프로그램에서 자주있는 메모리 누수가 되겠지요... 자바의 가비지컬렉션은 이런
:  누수된걸 알아서 처리(삭제)해주니 편하다 하는것이겠네요.)
:
:
:
: 또치 님이 쓰신 글 :
: : 개인적으로 C를 공부하고 있는데요... Linked List에서
: : 영 진도가 안 나가고 있어요. ㅠ,.ㅠ
: :
: : 그 이유는 아무래도 "->"의 의미를 잘 몰라서 그런 것 같아요.
: :
: : 예를 들어서 다음과 같은 형태의 구조체가 있다고 했을 때,
: :
: : struct person {
: :               char name[20];
: :               struct person *next;
: : };
: :
: : struct person *new;
: : struct person *head;
: : head=NULL
: :
: : 링크트 리스트의 시작 부분에 링크를 추가하기 위해서,
: :
: :              
: : new=(person *)malloc(sizeof(struct person));
: : new->next=head;
: : head=new;
: :
: : 위와 같이 작업을 하는데요, "new->next=head"의 "->"의 의미를 잘
: : 모르겠어요. 어줍잖게 알기로는 "new가 next를 가르키도록 한다"라는
: : 의미라고 들었는데요, 그래도 명확하지가 않아요. Pointer new가 가르키던
: : 주소값을 next 라는 포인터의 주소값이 되게한다는 의미인가요? 아니면 그냥 단순
: : 링크트 리스트의 흐름을  표시할 뿐인가요?
: :
: : 아휴 답답해.... 이 게 막히니 다른 것도 이해가 안 되네요. 허접스런 질문인지
: : 모르겠지만 답변을 부탁드립니다.
: : 감사합니다.

+ -

관련 글 리스트
1305 Linked List 에서 기호 "->"의 의미를 알고 싶어요. 또치 2223 2002/10/03
3627     Re:Linked List 에서 기호 "->"의 의미를 알고 싶어요. 김인구.구야 1466 2002/10/03
1309     Re:Linked List 에서 기호 남병철.레조 1567 2002/10/04
1311         감사합니다 ^^ (냉무) 또치 1363 2002/10/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.